如何在不同的Android版本中更改开关的颜色?

时间:2016-05-11 18:17:28

标签: android xml

我当前的切换开关正在我的Android设备上使用'Jelly Bean',拇指在启用或禁用时会改变颜色。 在具有'Lollipop'的不同Android设备上,默认情况下开关看起来不同,如果我尝试更改拇指的颜色,整个开关都会变得不可见。

我需要两个版本的解决方案,其中开关的拇指将根据其状态改变颜色。

我的开关:

<Switch
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/swManual"
    android:thumb="@drawable/swManual"/>

我的拇指抽签:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@color/swOff"/>
    <item android:state_checked="true" android:drawable="@color/swOn"/>
</selector>

1 个答案:

答案 0 :(得分:0)

看一下使用SwitchCompat库,它是设计支持库的一部分。它模拟最新的开关组件,并将根据styles.xml中的colorPrimaryandroid:colorPrimary属性更改颜色。