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的滑动效果~~~

     
  • 相关阅读:
    设计模式
    设计模式
    设计模式
    设计模式
    【Sublime】许可证 及 相关设置
    【Linux】跳过ubuntu grub2引导,使用Windows引导ubuntu
    【Linux】Windows 7下硬盘安装Ubuntu 14.10图文教程
    【ACM】连连看 hdu1175
    【算法】约瑟夫环 C++源代码
    【Java】配置JAVA的环境变量
  • 原文地址:https://www.cnblogs.com/yunfang/p/5485390.html
Copyright © 2011-2022 走看看