中级控件
1 其他布局
1.1 相对布局RelativeLayout
RelativeLayout下级视图的位置是相对位置,得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物,那么下级视图默认显示在RelativeLayout内部的左上角。用于确定视图位置的参照物分两种, 一种是与该视图自身平级的视图,另一种是该视图的上级视图(RelativeLayout)。
XML中的相对位置属性:
1.2 框架布局FrameLayout
FrameLayout也是较常用的布局,其下级视图无法指定所处的位置,只能统统从上级FrameLayout的左上角开始添加,并且后面添加的子视图会把之前的子视图覆盖掉。框架布局一般用于需要重叠显示的场合, 比如绘图、游戏界面等。
常见属性说明如下:
- foreground:指定框架布局的前景图像。该图像在框架内部永远处于最顶层,不会被框架内的其他视图覆盖。
- foregroundGravity:指定前景图像的对齐方式。该属性的取值说明同gravity。
特殊按钮
2.1 复选框CheckBox
在学习复选框之前,先了解一下CompoundButton。在Android体系中,CompoundButton类是抽象的复合 按钮,因为是抽象类,所以不能直接使用。实际开发中用的是CompoundButton类的几个派生类,主要有复 选框CheckBox、单选按钮RadioButton以及开关按钮Switch,这些派生类都可使用CompoundButton的属性和 方法。
CompoundButton在布局文件中主要使用下面两个属性。
- checked:指定按钮的勾选状态,true表示勾选,false表示未勾选。默认未勾选。
- button:指定左侧勾选图标的图形。如果不指定就使用系统的默认图标。
CompoundButton在代码中可使用下列4种方法进行设置
- setChecked:设置按钮的勾选状态。
- setButtonDrawable:设置左侧勾选图标的图形。
- setOnCheckedChangeListener:设置勾选状态变化的监听器。
- isChecked:判断按钮是否勾选。
2.2 开关按钮Switch