我有一个按钮,背景如下。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/easy_button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/easy_button_pressed" /> <!-- focused -->
<item android:drawable="@drawable/easy_button_default" /> <!-- default -->
</selector>
如果我手动按下按钮,效果很好。但我有时也需要手动调用button.performClick();
当我这样做时,按钮不会改变颜色。有人可以帮帮我。
答案 0 :(得分:2)
致电performClick()
后,请致电view.setPressed(true);
,然后在几毫秒之后将其设置为假,如下所示:
handler.postDelayed(new Runnable() {
@Override
public void run() {
view.setPressed(false);
}
}, 100);