基本上所有软件的使用都需要用到控件,没有控件的软件基本上是很难实现相关的功能的。安卓中相关的,这里对我所学习的简单控件进行复习。大部分控件都有他的大小,用长宽表示,长是layout_width,宽是layout_height。在学习时尽量使用代码在Text页面敲出来这些代码,加强控件理解。
一、在xml布局中的简单常用控件
1、TextView
TextView就是一个文本框,是显示文字的窗口,在Android studio自动生成的工程中,helloworld就是显示在TextView中的,而TextView的一般调用代码如下:
<TextView //设置控件大小,具体的会在布局中讲,这里不解释 android:layout_height="wrap_content" android:layout_weight="match_parent" //为控件设置编号,如果我的主程序要使用这个控件,怎么找到他呢,就是通过这个编号 android:id="%+id=text_view" //文本框显示的内容:This is a TextView android:text="This is a TextView" //文字的对齐方式,有top(向上对齐),bottom(向下对齐),left(向左对齐),right(向右对齐),center(文字居中显示)等 android:gravity="center" //文字的大小,以sp为单位 android:textsize="24sp" //文字的颜色 android:textcolor="#00ff00" />
当然,这些属性都是可以在design设计出来的,在design的右下角或者右边
2、EditText
EditText是另一个文字交互控件,但是这里是可输入控件,就是可输入文本框。和TextView的属性很多都是一样的,这里介绍他们的不同之处。TextView中有一个android:text用来设置文本内容,我们如果需要在文本框中提示用户怎么输入,而这里如果也这么写的话我们在输入的时候会发现多出来了文本内容要删去,显然是不合理的,这里我们不用android:text 设置文本,用android:hint就可以啦。
3、Button
Button也是一个很常见的控件么就是按钮,一个程序少不了的就是按钮了。按钮的设置和上面如出一辙。
<Button //设置控件大小,不解释 android:layout_height="" android:layout_weight="" //为控件设置编号,如果我的主程序要使用这个控件,怎么找到他呢,就是通过这个编号 android:id="%+id=button" //在按钮上显示文字Button android:text="Button" //文字的大小,以sp为单位 android:textsize="24sp" //文字的颜色 android:textcolor="#00ff00" //你会发现最后运行过后按钮上的Button群不是大写,如果想让他显示的和你想的一样的话,这里这样设置 android:textAllCaps="false" />
4、ImageView
ImageView是在界面上显示图片的控件,而这个控件的使用肯定要有图片啊。没图片怎么显示,图片又在哪呢??????上篇文章我说过图片放在res文件夹下,即app\src\main\res文件夹下。而图片一般默认放在drawable文件夹(没有的话请自建)下,使用如下:
<ImageView //设置控件大小,不解释 android:layout_height="" android:layout_weight="" //为控件设置编号,如果我的主程序要使用这个控件,怎么找到他呢,就是通过这个编号 android:id="%+id/image_view" //调用并显示图片img_1,默认是jpg格式 android:src="@drawable/img_1" />
二、常用的但是不在xml文件中定义的控件
为了理解这个控件我们建立工程UIWidget,一切步骤全部默认。
1、AlertDialog
这个控件是在当前页面的最顶部显示一个对话框,他是置顶于所有元素上的,能够屏蔽掉其他控件的交互能力,因此常用来提示一些重要信息。这个控件是在你的Java文件中定义的。
这里我在MainActivity.java中定义这个控件。
package com.example.administrator.uiwidget; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //定义一个AlertDialog控件 AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); //设置各项信息,就不一一解释了,看下图 dialog.setTitle("你打开了程序"); dialog.setMessage("确定吗"); dialog.setCancelable(false);//可否用手机的返回键取消,这里设置的不可以 dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); dialog.setNegativeButton("不确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); //光设置了还不行啊,还要显示,所以调用show函数显示。 dialog.show(); } }
运行代码。
2、ProgressDialog
ProgressDialog和AlertDialog有点像,不过他是显示一个进度条,一般用于需要等待的操作。使用方法,修改MainActivity中的代码,就可以了。
package com.example.administrator.uiwidget; import android.app.ProgressDialog; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //定义一个ProcessDialog控件 ProgressDialog dialog = new ProgressDialog(MainActivity.this); //设置各项信息 dialog.setTitle("你打开了程序"); dialog.setMessage("请稍后......."); dialog.setCancelable(true); //光设置了还不行啊,还要显示,所以调用show函数显示。 dialog.show(); } }
运行效果如下:
三、很常用但是比较复杂的控件。
1、List View和RecelerView这个比较复杂。准备放到布局之后在进行复习。详情在第五篇博客写吧,这是第三篇。