我正在使用一些调整,允许用户使用SDCard的资源更改我的应用程序的UI。这很简单,没什么特别的,我只使用“setImageDrawable”或“setImageBitmap”。
http://developer.android.com/reference/android/widget/ImageButton.html
这真的很酷,我的所有用户都乐于自定义用户界面。
但是现在,我还要更改按钮的按下/聚焦资源!
现在,当他们点击它时,他们看不到任何东西,他们点击可能10次。更有问题的是,这不是很直观。
所以我想以编程方式更改按下/聚焦状态......
Ani想法建议?
答案 0 :(得分:5)
你必须使你的所有ImageButton都有一个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);