如何滑动执行点击android

时间:2012-10-07 13:06:08

标签: android button drag multi-touch slide

我正在尝试创建一个用户可以滑动的应用程序,或者在一组按钮上拖动手指以执行单击。我已尝试使用onTouch MotionEvent.ACTION_MOVE,但我似乎无法让它工作。按钮根本不按。这是代码:

public boolean onTouch(View v, MotionEvent arg1) {
    if (arg1.getAction() == MotionEvent.ACTION_MOVE) {

        switch (v.getId()) {
        case R.id.key1:
            key1.performClick();
            break;
        case R.id.key2:
            key2.performClick();
            break;
        case R.id.key3:
            key3.performClick();
            break;
        case R.id.key4:
            key4.performClick();
            break;
        case R.id.key5:
            key5.performClick();
            break;
        case R.id.key6:
            key6.performClick();
            break;
        case R.id.key7:
            key7.performClick();
            break;
        case R.id.key8:
            key8.performClick();
            break;
        }

    }
    return true;
}

1 个答案:

答案 0 :(得分:0)

我认为你最好在所有这些按钮上捕获关键事件,然后对每个按钮执行某种总和。例如

Key1 = 1 key2 = 1 + 2 key3 = 1 + 2 + 3 ...

当您到达keyx时,您可以检查总和是否符合您的预期。如果是这样,用户可能会在按钮上滑动他/她的手指。使用必须按下keyx的某种时间,数字必须加起来N.这将避免用户按下button3然后返回button1等仍然注册一次点击。

如果您想在每个按钮上注册一次点击,请设置他们的onclick侦听器并确保按钮本身是可点击的(它们应该已经是)。