Android - другое изображение для ролловера на ImageButton - PullRequest
6 голосов
/ 03 марта 2009

Можно ли указать другое изображение, когда фокус пользователя попадает на кнопку ImageButton? Я хочу отобразить кнопку изображения на LinearLayout и изменить изображение, когда пользователь фокусируется на кнопке или когда пользователь нажимает кнопку.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 03 марта 2009

Да, вы можете сделать это. Что вам нужно, так это нарисованный XML-файл, который определяет селектор.

<selector xmlns:android...
  <item android:state_enabled="false" android:state_focused="true" android:drawable="..." />
  <item android:state_enabled="true" android:state_focused="false" android:drawable="..." />
</selector>

Затем используйте идентификатор этого рисуемого XML при указании ImageButton в XML-макете.

0 голосов
/ 20 июля 2012

Прецедентный ответ не работал для меня. Вот код, который я нашел где-то еще:

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
         <item android:drawable="@drawable/refresh_pushed" android:state_pressed="true" />
         <item android:drawable="@drawable/refresh" />
    </selector>

Вы также можете добавить состояние для фокусированных объектов, добавив строку и используя:

Android: state_focused = "истинный"

...