在学习复选框之前,先了解一下CompoundButton。在Android体系中,CompoundButton类是抽象的复合按钮,因为是抽象类,所以 它不能直接使用。实际开发中用的是CompoundButton的几个派生类,主要有复选框CheckBox、单选按钮RadioButton以及开关按钮Switch,这些派生类均可使用CompoundButton的属性和方法。加之CompoundButton本身继承了Button类,故以上几种按钮同时具备 Button的属性和方法,它们之间的继承关系如图。
CompoundButton在XML文件中主要使用下面两个属性。
·checked:指定按钮的勾选状态,true表示勾选,false则表示未勾选。默认为未勾选。
·button:指定左侧勾选图标的图形资源,如果不指定就使用系统的默认图标。
CompoundButton在Java代码中主要使用下列4种方法。
·setChecked:设置按钮的勾选状态。
·setButtonDrawable:设置左侧勾选图标的图形资源。
·setOnCheckedChangeListener:设置勾选状态变化的监听器。
·isChecked:判断按钮是否勾选。
复选框CheckBox是CompoundButton一个最简单的实现控件,点击复选框将它勾选,再次点击取消勾选。复选框对象调用setOnCheckedChangeListener方法设置勾选监听器,这样在勾选和取消勾选时就会触发监听器的勾选事件。
<CheckBox
android:id="@+id/ck_system"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是系统的CheckBox"
></CheckBox>