zoukankan      html  css  js  c++  java
  • 自定义SwitchButton

      效果:

    源码:https://github.com/zcweng/SwitchButton

    一、添加引用:

    repositories {
        mavenCentral()
        jcenter()
    }
    
    ...
    
    dependencies {
        compile 'com.github.zcweng:switch-button:0.0.3@aar'
    }

    二、布局文件:

     <com.suke.widget.SwitchButton
            android:id="@+id/switch_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    三、Activity:

    com.suke.widget.SwitchButton switchButton = (com.suke.widget.SwitchButton)
        findViewById(R.id.switch_button);
    
    switchButton.setChecked(true);
    switchButton.isChecked();
    switchButton.toggle();     //switch state
    switchButton.toggle(false);//switch without animation
    switchButton.setShadowEffect(true);//disable shadow effect
    switchButton.setEnabled(false);//disable button
    switchButton.setEnableEffect(false);//disable the switch animation
    switchButton.setOnCheckedChangeListener(new SwitchButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(SwitchButton view, boolean isChecked) {
            //TODO do your job
        }
    });

    四、More Style:

    <attr name="sb_shadow_radius" format="reference|dimension"/>       阴影半径
    <attr name="sb_shadow_offset" format="reference|dimension"/>       阴影偏移
    <attr name="sb_shadow_color" format="reference|color"/>            阴影颜色
    <attr name="sb_uncheck_color" format="reference|color"/>           关闭颜色
    <attr name="sb_checked_color" format="reference|color"/>           开启颜色
    <attr name="sb_border_width" format="reference|dimension"/>        边框宽度
    <attr name="sb_checkline_color" format="reference|color"/>         开启指示器颜色
    <attr name="sb_checkline_width" format="reference|dimension"/>     开启指示器线宽
    <attr name="sb_uncheckcircle_color" format="reference|color"/>     关闭指示器颜色
    <attr name="sb_uncheckcircle_width" format="reference|dimension"/> 关闭指示器线宽
    <attr name="sb_uncheckcircle_radius" format="reference|dimension"/>关闭指示器半径
    <attr name="sb_checked" format="reference|boolean"/>               是否选中
    <attr name="sb_shadow_effect" format="reference|boolean"/>         是否启用阴影
    <attr name="sb_effect_duration" format="reference|integer"/>       动画时间,默认300ms
    <attr name="sb_button_color" format="reference|color"/>            按钮颜色
    <attr name="sb_show_indicator" format="reference|boolean"/>        是否显示指示器,默认true:显示
    <attr name="sb_background" format="reference|color"/>              背景色,默认白色
    <attr name="sb_enable_effect" format="reference|boolean"/>         是否启用特效,默认true
  • 相关阅读:
    培养你的领导气质
    头痛
    张颐武:周小平的意义
    浅谈第三方电子支付平台测试方法的研究
    java基础复习二——面向对象一
    jmeter内存溢出处理方式记录
    软件质量管理的八个法则
    CMM已经落伍了,敏捷才是王道
    空间管理 您的位置: 51Testing软件测试网 » lilisx2006的个人空间 » 日志 在一个没有测试经理的小公司如何做好测试
    mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'
  • 原文地址:https://www.cnblogs.com/xinyibufang/p/7427952.html
Copyright © 2011-2022 走看看