2

我想为两个按钮实现 OnTouchEvent 并同时获取 MotionEvent.ACTION_MOVE 函数。

我实现了 onTouchEvent 但不起作用

    left = (Button)findViewById(R.id.button1);
    right = (Button)findViewById(R.id.button2);
    left.setOnTouchListener(this);
    right.setOnTouchListener(this);

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub

        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            if(v.getId()==R.id.button1){
                Log.i("left", "moved!");
            }
            if(v.getId()==R.id.button2){
                Log.i("right", "move!");
            }
        }
        return false;
    }

在 AndroidManifest.xml 中

<uses-feature android:name="android.hardware.touchscreen.multitouch"
           android:required="true" />

请帮我解决这个问题。

4

2 回答 2

2

http://www.passsy.de/activity_with_multitouch_for_buttons/可以帮助你,你用的是什么安卓版本?

于 2012-04-13T10:44:42.157 回答
0

试试这个:

      if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if(v==left){
            Log.i("left", "moved!");
        }
        if(v == right){
            Log.i("right", "move!");
        }
    }

你应该让左右按钮成为类成员。

编辑:对不起可能会导致同样的效果。

于 2012-04-13T10:47:38.553 回答