• 一起学Android之ToggleButton和Switch


    本文以一个简单的小例子,简述在Android开发中ToggleButton(开关按钮)和Switch(开关)的简单使用,仅供学习分享使用。

    概述

    ToggleButton是一个有两种状态(checked/unchecked)的按钮,经常用于开/关等场景中,默认文本显示(ON/OFF),Switch 是一个拥有两种状态的控件,具有滑动的效果。

    ToggleButton

    ToggleButton涉及知识点如下:

    1. android:textOff 设置未选中时显示的文本内容,默认为OFF。
    2. android:textOn 设置选中时显示的文本内容,默认为ON。
    3. android:disabledAlpha 控件禁用时的透明度,float类型,
    4. android:background 背景设置,可以用于设置一个图片或者资源文件
    5. setOnCheckedChangeListener 用于设置监听状态改变的事件
    6. OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数需要实现
    7. onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件需要实现的函数

    ToggleButton示例效果图如下:

    ToggleButton源码

    (xml)源码如下:

     1  <TextView
     2         android:id="@+id/tv_toggle"
     3         android:layout_width="match_parent"
     4         android:layout_height="wrap_content"
     5         android:layout_below="@id/sp_info"
     6         android:textSize="15dp"
     7         android:layout_marginBottom="10dp"
     8         android:text="@string/tv_toggle"/>
     9     <ToggleButton
    10         android:id="@+id/tb_info"
    11         android:textOff=""
    12         android:textOn=""
    13         android:layout_marginBottom="10dp"
    14         android:background="@drawable/toggle_selector"
    15         android:layout_below="@id/tv_toggle"
    16         android:layout_width="wrap_content"
    17         android:layout_height="wrap_content"/>

    关于toggle_selector资源文件如下(资源文件中的on和off对应图片):

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    3     <item android:state_checked="true" android:drawable="@drawable/on"></item>
    4     <item android:state_checked="false" android:drawable="@drawable/off"></item>
    5 </selector>

    实现监听事件的源码如下:

    1 mToggleButton =(ToggleButton) this.findViewById(R.id.tb_info);
    2         mToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    3             @Override
    4             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    5                 String info="当前状态是:"+(isChecked?"打开":"关闭");
    6                 Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();
    7             }
    8         });

    Switch控件

    Switch涉及知识点如下:

    1. android:textOff 设置未选中时显示的文本内容,默认为OFF。
    2. android:textOn 设置选中时显示的文本内容,默认为ON。
    3. android:thumb:滑块的图片
    4. android:showText:设置on/off的时候是否显示文字,boolean
    5. android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean
    6. setOnCheckedChangeListener 用于设置监听状态改变的事件
    7. OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数需要实现
    8. onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件需要实现的函数

    Switch示例效果图如下:

    Switch源码

    xml源码如下(其中的toggle_selector和上面一样,设置选中和未选中时的图片):

    1 <Switch
    2         android:id="@+id/sw_info"
    3         android:textOff=""
    4         android:textOn=""
    5         android:background="@drawable/toggle_selector1"
    6         android:track="@drawable/toggle_selector1"
    7         android:layout_below="@id/tb_info"
    8         android:layout_width="wrap_content"
    9         android:layout_height="wrap_content"/>

    监听事件源码如下:

    1 mSwitch =(Switch)this.findViewById(R.id.sw_info);
    2         mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    3             @Override
    4             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    5                 String info="当前状态是:"+(isChecked?"打开":"关闭");
    6                 Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();
    7             }
    8         });

    备注

    ToggleButton和Switch是很常见的基础性控件,简单易用,场景广泛,本文旨在抛砖引玉,希望大家共同学习。

  • 相关阅读:
    工作中Linux常用命令
    自动化测试
    Firefox/Chrome WebDriver浏览器驱动
    Appium
    Python+selenium进行浏览器的连接ChromeOptions
    文件及异常捕获处理
    面向对象练习题
    python函数&面向对象
    python基础
    python8道练习题
  • 原文地址:https://www.cnblogs.com/hsiang/p/10261726.html
Copyright © 2020-2023  润新知