一起Talk Android吧(第四百四十八回:UI控件之Switch)

Posted talk_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第四百四十八回:UI控件之Switch)相关的知识,希望对你有一定的参考价值。

文章目录


各位看官们大家好,上一回中咱们说的例子是"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"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

以上是关于一起Talk Android吧(第四百四十八回:UI控件之Switch)的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第四百八十八回:ObjectAnimator)

一起Talk Android吧(第四百一十八回:制作时钟)

一起Talk Android吧(第四百四十七回:UI控件之TimerPickerDialog)

一起Talk Android吧(第四百四十六回:UI控件之DatePickerDialog)

一起Talk Android吧(第四百五十八回:SeekBar补充用法一)

一起Talk Android吧(第四百四十回:如何给RecyclerView添加分隔线)