Как добавить цвет фона для 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" />