Как указать разные изображения, когда мой пользовательский виджет имеет фокус - PullRequest
5 голосов
/ 16 февраля 2009

Я пытаюсь настроить селектор, который можно нарисовать в моем файле актива, вот так: * 2 разных изображения для режима «вкл.» / «Выкл.» В режиме покоя (т.е. не имеет фокуса) * еще 2 разных изображения для режима «включено» / «выключено» в режиме фокусировки (т.е. это имеет фокус).

В моем случае режим «отдыха» работает, а режим «фокус» - нет.

Подскажите, пожалуйста, что мне не хватает в режиме фокусировки? Спасибо.

<!-- these 2 images works --->
<item android:state_checked="false" android:drawable="@drawable/off" />
<item android:state_checked="true" android:drawable="@drawable/on" />


<!-- these 2 images does not work -->

 <item android:state_focused="true" android:state_checked="false"
android:drawable="@drawable/off_focus" />

 <item android:state_focused="true" android:state_checked="true"
android:drawable="@drawable/on_focus" />

1 Ответ

1 голос
/ 07 января 2011

Я не верю, что экземпляры ImageView можно фокусировать по умолчанию, а это означает, что они никогда не будут фокусироваться, и ваш селектор никогда не сработает. В месте, где вы определяете свой ImageView, вам нужно настроить его на фокусировку, посмотрите эти методы: setFocusable и setFocusableInTouchMode . Это может быть установлено из XML или в коде.

...