如何为Android SwitchPreference添加背景颜色?

时间:2017-10-05 12:54:02

标签: java android android-layout android-preferences switchpreference

我正在使用PreferenceFragment使用单个SwitchPreference来扩充xml文件。如何制作该首选项的背景颜色,包括SwitchPreference的标题以匹配下面的图像。我尝试过设置背景,但我只能设置开关图标的背景颜色。

enter image description here

2 个答案:

答案 0 :(得分:0)

我使用样式

完成了这项工作

Style.xml

<style name="SwitchTheme" parent="Theme.AppCompat.Light">
    <item name="colorControlActivated">@color/yourcolor</item>
</style>
布局中的

<android.support.v7.widget.SwitchCompat
    android:id="@+id/switch_on_off"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="center"
    android:checked="false"
    android:gravity="center"
    android:paddingLeft="@dimen/padding"
    android:paddingRight="@dimen/padding"
    app:switchMinWidth="@dimen/switch_size"
    app:theme="@style/SwitchTheme" />

答案 1 :(得分:0)

styles.xml(在style.xml文件中的style.xml文件中创建此样式)

<resources>

<style name="SwitchTheme" parent="Theme.AppCompat.Light">
    <!-- switch on thumb & track color -->
    <item name="colorControlActivated">#02c754</item>

    <!-- switch off thumb color -->
    <item name="colorSwitchThumbNormal">#f1f1f1</item>

    <!-- switch off track color -->
    <item name="android:colorForeground">#42221f1f</item>
</style>

</resources>

your_layout_activity.xml

<android.support.v7.widget.SwitchCompat
    android:id="@+id/switch_on_off"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="center"
    android:checked="true"
    android:gravity="center"
    android:paddingLeft="30dp"
    android:theme="@style/SwitchTheme"
    app:switchMinWidth="55dp"/>

这个来源对我有用。试试这个你会明白