我有一个Button
带有一个定义状态和背景的背景资源
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" android:state_pressed="true" />
<item android:drawable="@color/gray" android:state_pressed="false" />
<item android:drawable="@color/white" android:state_selected="true" />
<item android:drawable="@color/gray" android:state_selected="false" />
</selector>
我也试过
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" android:state_pressed="true" android:state_selected="true" />
<item android:drawable="@color/gray" android:state_pressed="false" android:state_selected="false" />
</selector>
按下它确实会改变颜色,但是当我应用btn.setSelected(true);
时没有任何反应
任何想法?
答案 0 :(得分:0)
点击按钮,点击btn.performClick();
。这可能有效:
void pressButton(Button btn, boolean pressed) {
if (pressed != btn.isPressed()) {
btn.performClick();
}
}
答案 1 :(得分:0)
好的,我明白了,
对于将要遇到这种情况的未来人来说,这已经解决了它
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" android:state_pressed="true" />
<item android:drawable="@color/white" android:state_selected="true" />
<item android:drawable="@color/tab_gray" />
</selector>