安卓修改SwitchCompat颜色

一、控件属性

//修改开关色值就是最后两个属性决定的

<androidx.appcompat.widget.SwitchCompat

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:background="@null"

        app:thumbTint="@color/switch_thumb_bg"

        app:trackTint="@color/switch_track_bg" />

width和height使用wrap_content即可,因为即使设置了具体宽高也无效,需要特殊处理

点击该控件时会出现黑色阴影效果,设置background="@null"即可取消该效果

thumbTint 开关的圆点色值

trackTint 开关的轨道色值


二、在color文件夹下分别创建两个xml文件来设置圆点和轨道的色值

//switch_thumb_bg.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/color_e7e7e7" android:state_checked="false"/>

    <item android:color="@color/color_FF8525" android:state_checked="true"/>

</selector>


//switch_track_bg

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/color_afafaf" android:state_checked="false"/>

    <item android:color="@color/color_66FF8525" android:state_checked="true"/>

</selector>

主要就是根据state_checked属性分别设置打开和关闭时对应的色值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容