Как добавить цвет фона для Android SwitchPreference?

Я использую PreferenceFragment для раздувания XML-файла с помощью одного SwitchPreference. Как я могу сделать цвет фона этого предпочтения, включая заголовок SwitchPreference, чтобы соответствовать изображению ниже. Я попытался установить фон, но я могу только установить цвет фона значка переключателя.

2 ответа

styles.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"/>

этот источник работает для меня. Попробуйте с этим вы поймете

Я сделал это, используя стиль

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" />
Другие вопросы по тегам