3

我正在使用 PreferenceFragment 使用单个 SwitchPreference 来扩展 xml 文件。如何使该首选项的背景颜色(包括 SwitchPreference 的标题)与下图相匹配。我试过设置背景,但我只能设置开关图标的背景颜色。

在此处输入图像描述

4

2 回答 2

1

styles.xml(在 values 文件夹中的 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"/>

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

于 2017-10-05T13:54:53.100 回答
0

我已经使用样式完成了此操作

样式.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" />
于 2017-10-05T13:01:16.623 回答