Я думаю, вам нужно установить в качестве фона для интерактивного представления (макет) список состояний для рисования , это ресурс для рисования, для которого вы можете указывать различные элементы рисования для разных состояний или комбинаций состояний, есть один для выбора, один для прессы и так далее. Кроме того, состояние макета распространяется на все его дочерние элементы.
РАЗЪЯСНЕНИЯ - это пример из ранее связанных документов:
res/drawable/button.xml :
(это список состояний, который можно нарисовать)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
button_pressed
, button_focused
и button_normal
- это обычные элементы рисования, представляющие кнопки в этих состояниях, возможно, png (поэтому нажатие может быть вставлено, фокусировка выделена оранжевым цветом).
если вы установите этот ресурс в качестве фона для вашей "кнопки линейного макета":
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/button">
...
</LinearLayout>
Теперь при фокусировке макета автоматически устанавливается фоновое изображение @drawable/button_focused
и т. Д.
конечно, все используемые вами элементы рисования должны быть уже ресурсами res/drawable/
вместе с button.xml
.