我正在尝试创建一个用户可以滑动的应用程序,或者在一组按钮上拖动手指以执行单击。我已尝试使用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;
}
答案 0 :(得分:0)
我认为你最好在所有这些按钮上捕获关键事件,然后对每个按钮执行某种总和。例如
Key1 = 1 key2 = 1 + 2 key3 = 1 + 2 + 3 ...
当您到达keyx时,您可以检查总和是否符合您的预期。如果是这样,用户可能会在按钮上滑动他/她的手指。使用必须按下keyx的某种时间,数字必须加起来N.这将避免用户按下button3然后返回button1等仍然注册一次点击。
如果您想在每个按钮上注册一次点击,请设置他们的onclick侦听器并确保按钮本身是可点击的(它们应该已经是)。