我想在我的应用中使用一个开关,但我希望它有自定义颜色。现在它根本没有出现。
切换我的xml:
<Switch
android:id="@+id/switch"
android:track="@drawable/switch_track"
android:thumb="@drawable/switch_thumb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
switch_track.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@color/grey_light"/>
<item android:state_pressed="true" android:drawable="@color/grey_light"/>
<item android:state_checked="true" android:drawable="@color/accent_light"/>
<item android:drawable="@color/grey_light"/>
</selector>
switch_thumb.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@color/grey"/>
<item android:state_pressed="true" android:drawable="@color/grey"/>
<item android:state_checked="true" android:drawable="@color/accent"/>
<item android:drawable="@color/grey"/>
</selector>
我是否需要为选择器添加图标而不是颜色,或者是否可以更改颜色?
答案 0 :(得分:2)
如果您使用的是支持库,则可以使用材质属性为SwitchCompat
着色:
<android.support.v7.widget.SwitchCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
styles.xml:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light">
<item name="colorSwitchThumbNormal">@color/grey</item>
<item name="colorControlActivated">@color/accent</item>
</style>