拖动/滑动手指以执行onclick按钮 - 多点触控

时间:2011-09-16 17:30:48

标签: java android android-layout onclick multi-touch

我有一个游戏,由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功能。一键点击是注册休息触摸被忽略
任何帮助将不胜感激。

我不想要像钢琴/音板那样连续点击按钮..但只需点击一下,我将手指拖到按钮上 谢谢 !

1 个答案:

答案 0 :(得分:0)

onTouch(),您不应该始终使用return true。如果您希望捕获后续操作,请返回false

  

onTouch() - 返回一个布尔值,指示您的侦听器是否使用此事件。重要的是这个事件可以有多个相互跟随的动作。因此,如果在收到向下操作事件时返回false,则表示您尚未使用该事件,并且对此事件的后续操作也不感兴趣。因此,您不会在事件中调用任何其他操作,例如手指手势或最终的上行动作事件。

参考:http://developer.android.com/guide/topics/ui/ui-events.html