Android ImageButton 按下状态不改变

Android ImageButton Pressed State Doesn't Change

我正在以编程方式设置 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);

默认状态图像确实显示正确,但按下时,没有任何变化。

尝试添加这一行:

_pauseButton.setPressed(boolean)

如果没有帮助,请尝试阅读这篇文章: Android : How to update the selector(StateListDrawable) programmatically

我必须最后设置默认状态。

    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 中的错误,我已经设置了一个报告:

https://code.google.com/p/android/issues/detail?id=217939&can=4&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened