我有一个游戏,由7个按钮组成,排列方式使得1个按钮位于中央,其余6个位于它周围。 单击按钮会导致textview中的更改。使用点击对用户来说真的很麻烦,因此我想添加拖动手指在按钮上执行onclick的功能..类似于boggle类型的游戏,如 - > https://market.android.com/details?id=com.ant.wordfind.client&feature=search_result
我试图实现相同的,问题是当我拖动手指时只有一个按钮被注册,即使我通过拖动光标按下其他按钮 - >其他按钮触摸只是被忽略了 以下代码。
public boolean onTouch(View v, MotionEvent arg1)
{
if(arg1.getAction() ==MotionEvent.ACTION_MOVE)
{
Button b;
switch (v.getId())
{
case R.id.b1:
case R.id.b2:
case R.id.b3:
case R.id.b4:
case R.id.b5:
case R.id.b6:
case R.id.b7:
b = (Button)findViewById(v.getId());
b.performClick();
break;
}
return true;
}
我错过了什么?我想要的是按下触摸按钮..他们执行onclick功能。一键点击是注册休息触摸被忽略我不想要像钢琴/音板那样连续点击按钮..但只需点击一下,我将手指拖到按钮上 谢谢 !
答案 0 :(得分:0)
在onTouch()
,您不应该始终使用return true
。如果您希望捕获后续操作,请返回false
。
onTouch() - 返回一个布尔值,指示您的侦听器是否使用此事件。重要的是这个事件可以有多个相互跟随的动作。因此,如果在收到向下操作事件时返回false,则表示您尚未使用该事件,并且对此事件的后续操作也不感兴趣。因此,您不会在事件中调用任何其他操作,例如手指手势或最终的上行动作事件。
参考:http://developer.android.com/guide/topics/ui/ui-events.html