0

を使用しLinearLayoutて、UI のさまざまな部分を表しています。アイデアは、これらのレイアウトがグリッド配置になるということです。さらに、ユーザーはウィンドウをドラッグして並べ替えることができます。レイアウトを作成することから始めましたが、すべてがうまく機能します。次にOnTouchListener、ビューに を適用しました。

 touchListener = new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.e("VARS","MotionEvent!");
                if(event.getPointerCount() == 2) {
                Log.e("VARS","It's two!");

                }
                return false;
            }
        };

event.getPointerCount()が 2の場合は完全に無視されます。このメソッドは、ポインタ数が 1 の場合にのみ呼び出されるようです。これをマニフェストに入れました:

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

それでもうまくいきません。LinearLayoutポインタ数が 1 の のみが認識される特別なケースがありますかMotionEvent、それとも他に何か不足していますか?

4

2 に答える 2

1

return falseに変更する必要がありますreturn true。を消費することによりMotionEvent、正しく動作します。

于 2012-08-14T21:38:47.107 に答える
0

http://developer.android.com/reference/android/view/MotionEvent.html#getPointerCount%28%29

1 より大きく設定することはできません。linearlayout とは関係ありません。

于 2012-08-14T21:34:38.450 に答える