У меня кнопка изображения настроена так:
<ImageButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/navup"
android:layout_weight="33"
android:layout_margin="5dip"
android:src="@drawable/up_button_icon"
android:background="@drawable/up_button" />
"@ drawable / up_button_icon" - это png.
/ RES / рисуем / up_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/up_button_press" />
<item
android:drawable="@drawable/up_button_norm" />
</selector>
Состояния "пресса" - это png, которые имеют утонувший взгляд на них. Подумайте о нажатии кнопки на пульте дистанционного управления вашего телевизора.
Кнопка отображается правильно, однако при нажатии кнопки возникает проблема. Изображение up_icon остается неподвижным. Для лучшего пользовательского интерфейса значок должен сместиться на 2 пикселя вниз, чтобы он соответствовал «затонувшему» фону.
В идеале я хотел бы настроить это с помощью макетов XML, но я также открыт для решений кода.