Сделайте так, чтобы выключатель оставался одним и тем же цветом при включении и выключении
Я пытаюсь сделать так, чтобы переключатель 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>
Надеюсь это поможет.