各位看官们大家好,上一回中咱们说的例子是"UI控件之TimePickerDialog",这一回中说的例是" UI控件之Switch"。闲话休提,言归正转,让我们一起Talk Android吧!
概念介绍
我们在这里介绍的Switch就是可以滑动的开关,滑动到一边表示开,滑动到另外一表示关,下面是一个示例图形,请大家参考:
使用方法
明白Switch的概念后,我们介绍它的使用方法,详细如下:
- 1.在布局文件中添加控件,并且设置长度和宽度等属性。
<Switch
android:id="@+id/id_switch"
android:switchTextAppearance="@style/custom_textAppearanceInverse"
android:textOff="Off"
android:textOn="On"
android:showText="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Switch>
在上面的代码中,我们还设置了text相关的属性,接下来我们重点介绍一下这些属性。
android:switchTextAppearance //用来控制字体的大小和字体
android:textOff/textOn //用来显示开关在不同状态下的的文字
android:showText //用来控制是否显示开关不同状态下的文字,默认不显示
这里特别注意showText默认为false,设置为true后其它文字属性才有效果。
显示开关状态的文字字体默认是大写的,可以通过属性修改字体大小和颜色,下面是示例:
<style name="custom_textAppearanceInverse">
<item name="android:textSize">12sp</item>
<item name="android:textColor">#ff0000</item>
</style>
- 2.在代码中获取开关控件
//这里使用了视图绑定功能
mSwitch = mBinding.idSwitch;
- 3.监听开关状态
mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.d("TAG", "onCheckedChanged: "+isChecked);
}
});
在上面的代码中给开关注册监听器,并且重写监听器中的onCheckedChanged
()方法,当开关的状态(开或者关)发生变化时会回调此方法,通过该方法的第二个参数就可以监听到开关当前的状态。我们在代码中通过Log来打印开关的状态,大家可以自己动手试试。
内容总结
看官们,我们在这里介绍了Switch这个控件的基本用法。还有一些内容没有做介绍,比如通过属性修改滑动状态。我在这里就不详细介绍了,以后遇到了再做详细的介绍。
此外,大家可以参考官方文档的说明,自己动手去实践。
看官们,关于"UI控件之Switch"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!