以编程方式模拟Android按钮

时间:2013-03-22 21:16:06

标签: java android

我见过this路线,

View.performClick();

但它没有显示实际按下按钮。我也试过this方法,

btn.setPressed(true);
btn.invalidate();

但是,它只显示按下按钮。我把它缩小到这个代码,它按下并发布,但没有点击。我错过了什么吗?我怎样才能完全点击,就像用户点击一样(monkeyrunner现在不是一个选项)

btn = (Button) findViewById(R.id.btn_box);
    Handler handler = new Handler();
    Runnable r = new Runnable() {
        public void run() {
            btn.setPressed(true);
            btn.invalidate();
            Handler handler1 = new Handler();
            Runnable r1 = new Runnable() {
                public void run() {
                    btn.setPressed(false);
                    btn.invalidate();

                }
            };
            handler1.postDelayed(r1, 1000);

        }
    };
    handler.postDelayed(r, 1000);

1 个答案:

答案 0 :(得分:2)

你的代码很好。只需在btn.performClick();

之后添加invalidate();即可

为了更好看,您可以缩短handler1的时间。