文章目录

  • 概念介绍
  • 使用方法
  • 内容总结

大家好,这一回中说的例是"UI控件之Switch"。闲话休提,言归正转,让我们一起Talk Android吧!

概念介绍

我们在这里介绍的Switch就是可以滑动的开关,滑动到一边表示开,滑动到另外一表示关,下面是一个示例图形,请大家参考:

android switch 拖动 android switch用法_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这个控件的基本用法。还有一些内容没有做介绍,比如通过属性修改滑动状态。我在这里就不详细介绍了,以后遇到了再做详细的介绍。

此外,大家可以参考官方文档的说明,自己动手去实践。