- 控件是界面组成的主要元素,用户直接与控件进行交互。
TextView控件用于显示文本信息。
Button
- Button控件表示按钮,它继承自TextView控件,既可以显示文本,又可以显示图片,同时也允许用户通过点击来执行操作,当Button控件被点击时,被按下与弹起的背景会有一个动态的切换效果,这个效果就是点击效果 。
- Button控件点击事件实现的三种方式
1、在布局文件中指定Button控件的onClick属性方式
① 在layout文件中指定onClick属性
② 在Activity中实现这个click方法
2、匿名内部类方式
在Activity中添加匿名内部类
3、接口方式
①当前Activity实现View.OnClickListener接口
②设置Button控件的点击监听事件
③然后实现OnClickListener接口中的方法
EditText
EditText表示编辑框,它是TextView的子类,用户可在此控件中输入信息。
- 更换编辑框的光标
cursor Visible:指定光标是否可见,代码中对应的方法为setCursorVisible
textCursorDrawable: 指定光标的图像,该属性无法通过代码设置。
- 更换编辑框的边框
EditText的边框由background属性控制,若要隐藏边框,则将background属性设置为@null;若要修改边框样式,需要将background属性设置为其它图形。
- 自动隐藏输入法
EditText会默认获得焦点,可能会弹出输入法的软键盘
解决方法:在页面的根节点中设置focusable和focusableOnTouchMode属性为true,强制让根节点获得焦点。
ImageView
ImageView用来显示图片,它继承自View,可以加载各种图片资源。
- ImageView在代码中调用的方法如下:
setScaleType: 设置图像的拉伸类型。
setImageDrawable: 设置图形的Drawable对象。
setImageResource: 设置图形的资源ID。
setImageBitmap: 设置图形的位图对象。
- ImageButton派生自ImageView,具有默认的按钮外观。
- ImageButton和Button的区别:
1、Button即可显示文本也可显示图形,ImageButton只能显示图形不能显示文本。
2、ImageButton上的图像可按比例拉伸,Button上的大图会拉伸变形,因为背景图无法按比例拉伸。
3、Button只能在背景中显示一张图形,ImageButton可通过前景和背景显示两张图形,实现图片叠加的效果。
CheckBox
- CompoundButton类是抽象的复合按钮类,在实际开发中,使用的是其派生类,如:CheckBox,RadioButton及Switch。
- CompoundButton在布局文件中常用的两个属性
1、checked:指定按钮的勾选状态
2、button:指定左侧勾选图标的图形
- CompoundButton在代码中常用的方法
1、setChecked: 设置按钮的勾选状态
2、setButtonDrawable: 设置左侧勾选图标的图形
3、setOnCheckedListener: 设置勾选状态变化的监听器
4、isChecked: 判断按钮是否勾选
Switch
- Switch是一个高级版本的CheckBox,常用的属性为:
1、text:设置开关按钮旁显示的文字
2、thumb:设置开关标识的图标
3、track:设置开关轨道背景
4、switchMinWidth: 设置打开、关闭两种状态之间的滑动距离
- Switch在代码中常用的方法 1、setChecked: 设置Switch的勾选状态
2、setOnCheckedListener: 设置勾选状态变化的监听器
3、isChecked: 判断Switch是否勾选
RadioButton
- RadioButton为单选按钮,checked属性指定是否选中的状态。
- RadioGroup是单选组合框,可容纳多个RadioButton,并把它们组合在一起,实现单选状态。
- 语法格式
<RadioGroup
android:属性名称 ="属性值"
......>
<RadioButton
android:属性名称 ="属性值"
....../>
......
<RadioGroup/>
- RadioGroup常用方法:
1、check:选中指定资源编号的单选按钮
2、getCheckedRadioButtonId: 获取选中状态单选按钮的id
3、setOnCheckedChangeListener: 设置单选按钮勾选变化的监听器
AlertDialog对话框的使用
- AlertDialog对话框用于提示一些重要信息或者显示一些需要用户额外交互的内容。它一般以小窗口的形式展示在界面上。
- 使用AlertDialog创建的对话框一般包含标题、内容和按钮三个区域。
- 创建对话框的步骤:
1、调用AlertDialog的静态内部类Builder创建AlertDialog.Builder的对象。
2、调用AlertDialog.Builder的setTitle()和setIcon()方法分别设置AlertDialog对话框的标题名称和图标。
3、调用AlertDialog.Builder的setMessage()、setSingleChoiceItems()或者setMultiChoiceItems()方法设置AlertDialog对话框的内容为简单文本、单选列表或者为多选列表。
4、调用AlertDialog.Builder的setPositiveButton()和setNegativeButton()方法设置AlertDialog对话框的确定和取消按钮。
5、调用AlertDialog.Builder的create()方法创建AlertDialog对象。
6、调用AlertDialog对象的show()方法显示该对话框。
7、调用AlertDialog对象的dismiss()方法取消该对话框。
普通对话框
- 普通对话框的内容区域一般显示简单的文本信息。通过setMessage()方法设置的。
AlertDialog dialog;
dialog = new AlertDialog.Builder(this)
.setTitle("普通对话框")
.setIcon(R.mipmap.ic_launcher)
.setMessage("是否退出应用?")
.setPositiveButton("确定",....)
.setNegativeButton("取消",.....)
.create();
dialog.show();
单选对话框
- 单选对话框的内容区域显示为单选列表。单选列表通过AlertDialog.Builder对象调用setSingleChoiceItem()方法设置的。
AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("设置字体大小") //设置标题
......
.setSingleChoiceItems(new String[]{"小号", "默认", "中号", "大号", "超大"}, textSize, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {}})
.setPositiveButton(“确定”,....)//添加“确定”按钮
.setNegativeButton(“取消”,......);
dialog = builder.create();
dialog.show();
多选对话框
- 多选对话框的内容区域显示为多选列表。多选列表通过AlertDialog.Builder对象调用setMultiChoiceItems()方法设置的。
AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this)
......
.setTitle("请添加兴趣爱好!")
.setIcon(R.mipmap.ic_launcher)
自定义对话框
- 在Android程序中由于界面风格的不同,一般不直接使用系统提供的对话框,而是根据项目需求定义相应的对话框样式。
- 具体步骤如下:
Ø创建布局
创建一个自定义对话框的布局文件(custom_dialog.xml),布局中需要设定对话框的标题、对话框内容以及确定和取消按钮。
Ø创建自定义对话框
创建CommonDialog类继承自AlertDialog类,用于初始化自定义对话框中的控件以及响应按钮的点击事件。
Ø使用自定义对话框
在MainActivity中,调用CommonDialog相关方法构造方法将自定义对话框显示出来
.setMultiChoiceItems(items, checkedItems,
new DialogInterface.OnMultiChoiceClickListener() {.....})
dialog = builder.create();
dialog.show();