0

我正在使用一些调整,允许用户使用他们 SDCard 中的资源更改我的应用程序的 UI。这真的很简单,没什么特别的,我只是使用“setImageDrawable”或“setImageBitmap”。

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

这真的很酷,我所有的用户都乐于自定义 UI。

但是现在,我还想更改按钮的按下/聚焦资源!

现在,当他们点击它时,他们什么也看不到,他们可能点击了 10 次。更有问题的是,这不是很直观。

所以我也想以编程方式改变按下/聚焦状态......

Ani想法建议?

4

1 回答 1

5

您必须使所有的 ImageButtons 都具有 StateListDrawable 而不是 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);
于 2010-07-29T03:07:25.207 回答