记个SwitchButton笔记

本文详细介绍了一个自定义的Android开关按钮组件SwitchButton的使用方法。包括如何导入依赖、在Activity中设置监听器、XML布局文件中的配置选项以及如何进行个性化定制等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/kyleduo/SwitchButton
1、导包

  implementation 'com.kyleduo.switchbutton:library:2.0.0'

2、使用

 mAnimationAdapter.isFirstOnly(false);//init firstOnly state
 SwitchButton switchButton = (SwitchButton) findViewById(R.id.switch_button);
  switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
      @Override
      public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
          if (isChecked) {
              mAnimationAdapter.isFirstOnly(true);
          } else {
              mAnimationAdapter.isFirstOnly(false);
          }
          mAnimationAdapter.notifyDataSetChanged();
      }
  });

3、布局

   <com.kyleduo.switchbutton.SwitchButton
     android:id="@+id/switch_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="12dp"
      app:kswTextOff="false"
      app:kswTextOn="true"
      android:textColor="@drawable/custom_text_state_color"
      app:kswThumbDrawable="@drawable/thumb_drawable"
      app:kswThumbColor="#555771"
      app:kswTintColor="#00ddB6"
      app:kswThumbWidth="30dp"
      app:kswThumbHeight="30dp"
      app:kswThumbRadius='0dp'
      />

4、定制
在xml布局文件中配置属性.

nameinfo
kswThumbDrawable手柄
kswThumbColor手柄颜色
kswThumbMargin手柄周边margin
kswThumbMarginTop上外边距
kswThumbMarginBottom底外边距
kswThumbMarginLeft左外边距
kswThumbMarginRight右外边距
kswThumbWidth手柄宽度(与高度等时是个圆)
kswThumbHeight手柄高度
kswThumbRadius手柄的圆角 需要:kswThumbColor
kswBackRadius除手柄外的背景色需要:kswBackColor
kswBackDrawable背景图
kswBackColor背景字体颜色
kswFadeBack启用动画?
kswAnimationDuration动画持续时间
kswTintColorchange SwitchButton’s style just by one property, all relevant color will be generate automatically. Do not support SwitchButtonMD or other style created by xml resources.
kswTextOn开文字
kswTextOff关文字
kswTextThumbInset (since 2.0.0)length of the part of text under the thumb.
kswTextExtra (since 2.0.0)extra space needed by background besides the actual text width.
kswTextAdjust (since 2.0.0)文字自适应
kswThumbRangeRatio (since 2.0.0)手柄移动范围长条滑动
kswBackMeasureRatio(since 2.0.0)移除
kswTextMarginH(since 2.0.0)移除
kswAutoAdjustTextPosition(since 2.0.0)移除
private String[] opts = new String[]{
            "setThumbColorRes/setThumbColor",
            "setThumbDrawableRes/setThumbDrawable",
            "setBackColorRes/setBackColor",
            "setBackDrawableRes/setBackDrawable",
            "setTintColor",
            "setThumbMargin",
            "setThumbSize",
            "setThumbRadius (color-mode only)",
            "setBackRadius (color-mode only)",
            "setFadeBack",
            "setBackMeasureRatio",
            "setAnimationDuration",
            "setDrawDebugRect",
            "setText",
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值