62.android 简单的切换状态的Button

//第一步 导入依赖 

implementation 'com.github.zcweng:switch-button:0.0.3@aar'

//第二步 xml布局

<com.suke.widget.SwitchButton
    app:sb_checkline_color="@color/colorAccent"
    app:sb_background="@color/colorPrimary"
    app:sb_show_indicator="false"
    android:id="@+id/switch_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

//第三步 Activity里使用:

  switch_button = (SwitchButton) findViewById(R.id.switch_button);

        switch_button.setChecked(false);
//        switch_button.isChecked();
//        switch_button.toggle();     //开关状态
//        switch_button.toggle(true);//无动画切换
//        switch_button.setShadowEffect(true);//禁用阴影效果
//        switch_button.setEnabled(true);//禁用按钮
//        switch_button.setEnableEffect(false);//禁用开关动画
        switch_button.setOnCheckedChangeListener(new SwitchButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(SwitchButton view, boolean isChecked) {
                if (switch_button.isChecked()){
                    Toast.makeText(MainActivity.this, "true", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(MainActivity.this, "false", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

//第四步 可以写个attr.xml设定风格

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <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-->
</resources>

 //-----------------------------------------------------------------------完成-----------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/weixin_42061754/article/details/82718278