Android: изменение нажатого / сфокусированного ресурса по коду - PullRequest
0 голосов
/ 20 июля 2010

Я использую некоторые настройки, которые позволяют пользователю изменять пользовательский интерфейс моего приложения с помощью ресурсов из своей SDCard.Это действительно просто и ничего особенного, я просто использую "setImageDrawable" или "setImageBitmap".

http://developer.android.com/reference/android/widget/ImageButton.html

Это действительно круто, и все мои пользователи рады настроить пользовательский интерфейс.

Но теперь я хотел бы также изменить нажатый / сфокусированный ресурс кнопки!

Теперь, когда они нажимают на нее, они ничего не видят и нажимают, может быть, 10 раз.И что еще более проблематично, это не совсем интуитивно понятно.

Так что я бы хотел программно изменить также нажатое / сфокусированное состояние ...

Предложение идеи Ани?

1 Ответ

5 голосов
/ 29 июля 2010

Вам нужно сделать так, чтобы все ваши ImageButtons имели BitListDrawable вместо BitmapDrawables.

ImageButton ib = new ImageButton(this);
StateListDrawable sl = new StateListDrawable();
sl.addState(new int[] { android.R.attr.state_enabled }, yourDefaultDrawableHere);
sl.addState(new int[] { android.R.attr.state_pressed, android.R.attr.state_selected }, yourImageDrawableHere);
ib.setImageDrawable(sl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...