Сделайте так, чтобы выключатель оставался одним и тем же цветом при включении и выключении

Я пытаюсь сделать так, чтобы переключатель Android действовал как выбор между двумя вариантами, поэтому я хочу сделать так, чтобы переключатель был того же цвета, когда он включен и выключен. Как мне это сделать?

2 ответа

Решение

Добавьте это в Styles.xml:

<style name="SelectionSwitch" parent="Theme.AppCompat.Light">
    <!-- active thumb & track color (30% transparency) -->
    <item name="colorControlActivated">#f1f1f1</item>

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

    <!-- inactive track color (30% transparency) -->
    <item name="android:colorForeground">#42221f1f
    </item>
</style>

и добавьте Switch в ваш макет, как показано ниже:

<android.support.v7.widget.SwitchCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/SelectionSwitch" />

Вы можете использовать компонент SwitchCompat с пользовательским стилем:

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/SwitchStyle"/>

В вашем файле res/value/style.xml определите стиль

<style name="SwitchStyle">
    <item name="colorSwitchThumbNormal">@color/color_switch_off</item>
    <item name="colorControlActivated">@color/color_switch_on</item>
</style>

Надеюсь это поможет.

Другие вопросы по тегам