自定義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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM