Android仿微信开关按钮SwitchButton

╰+攻爆jí腚メ 2021-06-11 15:13 796阅读 0赞

使用系统自带的功能,只需要设置selector选择器就可实现下面的功能
在这里插入图片描述
在这里插入图片描述

这里说明一下:使用Android原生的switch选择器难免在某些布局上显得很丑。UI一般给图都会给出上诉的图

xml设置

在这里插入图片描述

这里需要注意的地方:Switch下的thumb与track,一个是滑块,一个是滑动背景。

Selector

滑块:switch_ios_thumb.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
  3. <solid android:color="#FFF" />
  4. <stroke android:width="3dp" android:color="#00000000" />
  5. <size android:width="20dp" android:height="20dp" />
  6. </shape>

在这里插入图片描述

滑动背景:switch_ios_track_selector

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  3. <item android:drawable="@drawable/switch_ios_track_on" android:state_checked="true" />
  4. <item android:drawable="@drawable/switch_ios_track_off" android:state_checked="false" />
  5. </selector>

在这里插入图片描述

在这里插入图片描述

Activity中调用
  1. swAutoPlay.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  2. @Override
  3. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  4. SPUtils.getInstance().put(Constants.AUTO_PALY_IN_WIFI, isChecked);
  5. if (isChecked) {
  6. Log.e(TAG, "onCheckedChanged: 开启" + isChecked);
  7. } else {
  8. Log.e(TAG, "onCheckedChanged: 关闭" + isChecked);
  9. }
  10. }
  11. });

以上就是SwitchButton中的一个简单的应用。

发表评论

表情:
评论列表 (有 0 条评论,796人围观)

还没有评论,来说两句吧...

相关阅读