zoukankan      html  css  js  c++  java
  • Android—自定义开关按钮实现

    我们在应用中经常看到一些选择开关状态的配置文件,做项目的时候用的是android的Switch控件,但是感觉好丑的样子…………

    个人认为还是自定义的比较好,先上个效果图:

    实现过程:

    1.准备开关不同状态的两张图片放入drawable中。

    2.xml文件中添加代码:

        <ToggleButton
            android:id="@+id/switch1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@android:color/transparent"
            android:button="@drawable/btn_backgrounds"
            android:checked="false"
            android:textOff=""
            android:textOn="" />
    android:button="@drawable/btn_backgrounds"是自己定义的android selector文件:
    <selector
      xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="true" android:drawable="@drawable/toggle_btn_on" />
        <item android:drawable="@drawable/toggle_btn_off" />

    3,之后在java文件中声明ToggleButton控件并且实例化,添加点击事件:

        /**
         * 自己出创建的内部类,监听按钮点击事件
         * 
         * @author cyf
         * 
         */
        class MyOnCheckedChangeListener implements OnCheckedChangeListener {
    
            @Override
            public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
    
                if (arg1) {
                    //
                } else {
                    //    
                }
    
            }
    
        }

    4.添加监听:

    switch1.setOnCheckedChangeListener((OnCheckedChangeListener) new MyOnCheckedChangeListener());

    笔记备忘一下,这个没有Switch的滑动效果~~~

     
  • 相关阅读:
    docker原理(转)
    HTTP代理(转)
    租房的注意事项
    聊聊常见的网络攻击
    我眼中的 Nginx(一):Nginx 和位运算
    5G网络与4G相比,有什么区别?
    当 “HTTP” 先生遇上“S”小姐
    虎牙直播张波:掘金Nginx日志
    又拍云张聪:OpenResty 动态流控的几种姿势
    一文读懂 HTTP/2 特性
  • 原文地址:https://www.cnblogs.com/yunfang/p/5485390.html
Copyright © 2011-2022 走看看