Кнопка Выбора Фона
Я пытаюсь переключить фон кнопок, если они нажаты. Я строю селектор, как ответ, предложенный здесь: стандартная кнопка Android с другим цветом
Наконец, я хочу поместить GradientDrawables внутрь, но для отладки я хочу только установить цвет, чтобы увидеть, что он работает. Вот мой селектор
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/red"/>
<item
android:state_focused="true"
android:drawable="@color/white"/>
<item
android:state_pressed="true"
android:drawable="@color/white"/>
</selector>
К сожалению, это не работает. Я устанавливаю селектор в качестве фона от моей кнопки, и вижу их только в красном цвете. Что я делаю не так (построить Задача 2.1)
2 ответа:
Поставьте это в конце
Элемент android: drawable= "@color / red "
Я имею в виду, как третий вариант, он будет работать. android проверяет условия xml с самого начала, первый тег не имеет никакого условия, поэтому он всегда будет выбирать красный, поэтому вы сначала ставите условия, а затем-по умолчанию.
Вот код, который я использую, и он работает очень хорошо.
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_clicked" android:state_pressed="true" android:state_enabled="true" /> <item android:drawable="@drawable/button" android:state_enabled="true" /> </selector>
Здесь я использую два изображения, которые я сделал с помощью photoshop в качестве фона
Первый button_clicked и вторая кнопка
Скопируйте его и измените, используя свои собственные ресурсы.
Надеюсь, я смогу помочь :)