如何在Android API 21+中设置Switch的颜色

时间:2015-12-15 09:55:27

标签: android

好的,我不需要也不想要AppCompat的东西。这是一个ROM实用程序的应用程序,所以我确切知道支持什么API(我真的控制整个系统)。我不需要API 22以下的任何内容,我正在编译该API。

我想知道我可以添加到styles.xml中以获得与主题的其余部分匹配的开关颜色(@ color / primary_color)。这就是我所拥有的......(其中一些可能不需要立即测试太多)。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
        <item name="android:colorButtonNormal">@color/primary_color</item>
        <item name="android:shadowColor">@android:color/black</item>
        <item name="android:colorControlHighlight">@color/primary_color</item>
        <item name="android:textViewStyle">@style/BlackText</item>
        <item name="android:actionMenuTextColor">@color/hilight_color</item>
        <item name="android:colorControlActivated">@color/primary_color</item>
        <item name="android:colorPrimary">@color/blackness</item>
        <item name="android:colorAccent">@color/primary_color</item>
    </style>
    <style name="BlackText">
        <item name="android:textColor">@android:color/black</item>
    </style>
</resources>

1 个答案:

答案 0 :(得分:1)

在xml布局中:

 <android.support.v7.widget.SwitchCompat
            android:id="@+id/switch_subs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:button="@null"
            android:padding="20dp"
            android:theme="@style/ColorSwitchStyle" />

在styles.xml中

 <style name="ColorSwitchStyle">
    <item name="colorControlActivated">@color/colorPrimary</item>
 </style>

sample

***在我的情况下,colorPrimary是蓝色的。