То, что вы хотите сделать, это настроить селектор и использовать его как фон для рисования для фона.
Создайте XML-файл в вашей папке для рисования и добавьте в него селектор:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/disabled_pressed_image" />
<item android:state_enabled="false" android:state_focused="true" android:drawable="@drawable/enabled_focused_image" />
<item android:state_enabled="false" android:drawable="@drawable/enabled_image" />
<item android:state_focused="true" android:drawable="@drawable/focused_image" />
<item android:state_pressed="true" android:drawable="@drawable/pressed_image" />
<item android:drawable="@drawable/default_image" />
</selector>
Рисованные над ссылками изображения также в вашей папке для рисования.Вам не нужно реализовывать все состояния.Это всего лишь несколько возможных комбинаций.
Затем прикрепите это как фон к линейному макету:
<LinearLayout
android:id="@+id/ltest"
android:layout_width="300dp"
android:layout_height="33dp"
android:background="@drawable/selector_file_name"
android:orientation="vertical">
, где имя файла селектора - это просто имя, которое вы дали упомянутому мною XML-файлу селектора.выше.
Также рассмотрите возможность удаления внутренних LinearLayouts.Вы можете сделать то, что вы пытаетесь сделать с 9-patch , тогда у вас будет только один LinearLayout (который вы можете просто изменить на ImageView, если он не будет размещать другие виды).