我以编程方式设置ImageButton的按下状态。
问题是,当我按下它时,状态根本不会改变。我尝试使用state_focused
和其他几个,但按钮根本没有变化。你知道为什么我的ImageButton在按下时没有改变它的图像吗?
_pauseButton = new ImageButton(_context);
StateListDrawable stateListDrawable = new StateListDrawable();
stateListDrawable.addState(new int[] {},
getResources().getDrawable(R.drawable.pause));
stateListDrawable.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.pausepressed));
_pauseButton.setImageDrawable(stateListDrawable);
默认状态图像确实正确显示,但按下后,没有任何变化。
答案 0 :(得分:0)
尝试添加此行:
_pauseButton.setPressed(boolean)
如果没有帮助,请尝试阅读本文: Android : How to update the selector(StateListDrawable) programmatically
答案 1 :(得分:0)
我必须设置默认状态LAST。
StateListDrawable stateListDrawable = new StateListDrawable();
stateListDrawable.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.pausepressed));
stateListDrawable.addState(new int[] {},
getResources().getDrawable(R.drawable.pause));
看起来像Android中的一个错误,我已经设置了报告: