拖动/滑动手指来执行点击按钮-多点触摸



我有一个由7个按钮组成的游戏,其中1个按钮位于中心,其余6个按钮位于其周围。点击按钮会导致textview发生变化。使用click对于用户来说真的很麻烦,因此我想添加拖动手指在按钮上执行onclick的功能。类似于拼字游戏类型的游戏,如-> 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; 
        }

我错过了什么吗?我想要的是什么时候按钮被触摸…它们执行点击功能。一旦注册了一个按钮点击,其余的触摸将被忽略
如有任何帮助,不胜感激。

我不想要像钢琴/音板一样的东西,那里有连续的点击按钮…但只要我把手指拖到按钮上点击一下谢谢!

对于onTouch(),您不应该总是使用return true。如果您希望捕获后续动作,则返回false

onTouch() -返回一个布尔值,指示监听器是否使用该事件。重要的是,这个事件可以有多个相互遵循的动作。因此,如果在接收到down操作事件时返回false,则表明您没有使用该事件,并且对该事件的后续操作也不感兴趣。因此,您将不会被调用事件中的任何其他操作,例如手指手势或最终的up操作事件。

裁判:http://developer.android.com/guide/topics/ui/ui-events.html

最新更新