Как изменить цвет ToggleButton с помощью Android: цвет? - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу изменить цвет ToggleButton в зависимости от его состояния.Я нашел решение, но оно не работает.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_checked="true" android:color="@color/buttonA"/>
     <item android:state_checked="false" android:color="@color/buttonDisabled"/>
</selector>

Я не могу использовать android: только цвет android: здесь разрешено рисование.(получая это исключение)

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable

1 Ответ

0 голосов
/ 19 ноября 2018

Создайте XML-файл colors.xml в папке res / values:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#ff0000</color>
    <color name="green">#00ff00</color>
</resources>

В папке для рисования создайте XML-файл my_btn_toggle.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@color/red"  />
    <item android:state_checked="true" android:drawable="@color/green"  />
</selector>

и в разделе XMLопределите свою кнопку переключения:

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New ToggleButton"
    android:id="@+id/toggleButton"
    android:background="@drawable/my_btn_toggle"/> 

Чтобы узнать больше, перейдите по ссылке

...