Вы можете попробовать этот учебник.
http://www.mkyong.com/android/android-imagebutton-selector-example/
Подготовьте 3 изображения для состояний кнопок, и поместить его в «/ вытяжке ресурсов» папку.
- button_normal_green.png - Кнопка изображения по умолчанию.
- button_focused_orange.png - отображать, когда кнопка сфокусирована, для пример, когда клавиатура телефона перемещается (фокусировка) на этой кнопке.
- button_pressed_yellow.png - отображать при нажатии кнопки.
Теперь создайте новый XML-файл в папке «res/drawable /» в любом имени, которое вы хотите, в этом случае мы просто укажем имя как «new_button.xml». Этот файл определяет, какое состояние кнопки принадлежит какому изображению.
Теперь вы можете обратиться к этой кнопке с помощью этого идентификатора: @ drawable/new_button.
файл
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed_yellow"
android:state_pressed="true" />
<item android:drawable="@drawable/button_focused_orange"
android:state_focused="true" />
<item android:drawable="@drawable/button_normal_green" />
</selector>
Открыть «Рез/макет/main.xml», добавьте обычную кнопку, и прикрепить фоновое изображение выше «new_button» через «андроид: фон =" @ вытяжке/new_button»
.
Вы можете также использовать некоторые формы вместо images.Create трех различных форм для трех различных состояний кнопки.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#7995A8"
android:startColor="#E8E8E8"
android:endColor="#000000"
android:type="linear"/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"/>
<size
android:width="270dp"
android:height="60dp"/>
<stroke
android:width="3dp"
android:color="#878787"/>
</shape>
Я надеюсь, что это помогает
Я после этого учебника, но он по-прежнему не работает. – Osaky11
Могу я знать, что вы пробовали, чтобы я мог вам помочь. – Victor
Я использую решение, которое я написал в вопросе, ваше решение и множество других, найденных в Интернете. Но нажатое состояние в селекторе всегда игнорируется. Я пытался сделать это по-программному, это прекрасно работает. Но когда вы нажимаете на кнопку, и вы выдвигаете палец из кнопки (вы все еще нажимаете на экран), телефон держит ее нажатой. – Osaky11