ToggleButton
xml属性
XML属性都有对应的java代码设置
属性 | 说明 |
---|---|
android:disabledAlpha | 模糊度float类型 |
android:textOff | 关闭时显示的文字 |
android:textOn | 打开时显示的文字 |
android:checked= | 默认是否打开 |
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:disabledAlpha="2.1"
android:checked="true"
android:textOff="关闭"
android:textOn="打开"/>
java
tb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {
Log.d(TAG, "toggleButton1___" + "true");
} else {
Log.d(TAG, "toggleButton1___" + "false");
}
}
});
Switch
xml
和ToggleButton
的属性相同,V7包中有兼容低版本的SwitchCompat
,在4.x和5.x显示是不一样的。
XML
XML属性都有对应的java代码设置
属性 | 说明 |
---|---|
android:disabledAlpha | 模糊度float类型 |
android:checked= | 默认是否打开 |
android:showText=”true” | 是否显示:开/关 |
<Switch
android:id="@+id/switch1"
android:showText="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch1"/>
CheckedTextView
效果图
XML
属性 | 说明 |
---|---|
android:drawableLeft= | 选择框在左边 |
android:checkMark= | 选择框在右边 |
android:checked=”false” | 默认不选中 |
android:textAppearance= | 文本属性 |
<CheckedTextView
android:id="@+id/checked_tv"
android:layout_width="wrap_content"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:checked="false"
android:drawableLeft="?android:attr/listChoiceIndicatorMultiple"
android:gravity="center_vertical"
android:text="text"
android:textAppearance="?android:attr/textAppearanceListItemSmall"/>
?android:attr/listChoiceIndicatorMultiple 多选框
?android:attr/listChoiceIndicatorSingle 单选按钮
方法
方法 | 说明 |
---|---|
toggle() | 改变当前状态 |
setOnClickListener | 点击监听 |
isChecked() | 是否选中 |
checkedTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkedTv.toggle();
}
});
Demo
https://git.oschina.net/AndroidUI/CheckedTextView01
CheckBox
CheckBox
自带的是方形框,我们也可以设置圆形框,也有这2个属性值
?android:attr/listChoiceIndicatorMultiple 多选框
?android:attr/listChoiceIndicatorSingle 单选按钮
<CheckBox
...
android:text="CheckBox"
android:drawableLeft="?android:attr/listChoiceIndicatorSingle"/>
会有2个按钮框,效果是这样的:
如果只是想显示圆形框,不显示方形框:
<CheckBox
...
android:button="@null"
android:drawableLeft="?android:attr/listChoiceIndicatorSingle"/>
不抢占焦点:
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"