Android ImageButton按下状态不会改变

时间:2016-07-22 20:26:07

标签: java android android-imagebutton

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

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

2 个答案:

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

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