0

我有一个具有以下背景的按钮。

<?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();当我这样做时,按钮不会改变颜色。有人可以帮帮我吗。

4

1 回答 1

3

调用后performClick(),调用view.setPressed(true);,然后在几毫秒后将其设置为 false,如下所示:

handler.postDelayed(new Runnable() {

    @Override
    public void run() {
        view.setPressed(false);
    }
}, 100);
于 2013-06-07T04:24:39.207 回答