Android 安卓设置压缩行为

Android 安卓设置压缩行为,android,button,simulate,pressed,Android,Button,Simulate,Pressed,以下代码试图模拟按键笔划: button1.setPressed(true); try { Thread.sleep(500); } catch(InterruptedException e) { } button1.setPressed(false); 上述操作对按钮没有任何作用,但是 button1.setPressed(true); 自动将按钮设置为按下状态。 为什么第一个片段对按钮没有影响 延迟回复,但我猜可能是因为您正在阻止UI线程,因此在您再次禁用按下状态之前,它不会更新UI

以下代码试图模拟按键笔划:

button1.setPressed(true);
try {
Thread.sleep(500);
} catch(InterruptedException e) {
} 
button1.setPressed(false);
上述操作对按钮没有任何作用,但是

button1.setPressed(true);
自动将按钮设置为按下状态。
为什么第一个片段对按钮没有影响

延迟回复,但我猜可能是因为您正在阻止UI线程,因此在您再次禁用按下状态之前,它不会更新UI

相反,你可以尝试以下方法:

class MyClass extends Activity ... {
  private final Handler _handler = new Handler();
  ...
  void somefunc() {
    button1.setPressed(true);
    _handler.postDelayed(new Runnable() {
      @Override
      public void run() {
        button1.setPressed(false);
      }
    }, 500);
  }
}

祝你好运

如果您还试图执行按钮的OnClickListener,请记住调用button1.performClick。但也许您只是为了使代码更清晰而删除了该部分: