【问题标题】:Android LinearLayout Multi-TouchAndroid LinearLayout 多点触控
【发布时间】:2012-08-11 06:14:26
【问题描述】:

我使用LinearLayout 来表示我的用户界面的不同部分。这个想法是这些布局将采用网格排列。此外,用户将能够拖动窗口以重新排列它们。我从创建布局开始,一切都很好。然后我将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() 是二的情况!似乎只有当指针计数为 1 时才会调用此方法。我把它放在我的清单中:

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

它仍然不起作用。 LinearLayout 是否有一种特殊情况,即只有指针计数为 1 的 MotionEvent 被识别,还是我还缺少其他东西?

【问题讨论】:

    标签: android android-linearlayout android-view multi-touch


    【解决方案1】:

    您需要将return false 更改为return true。通过使用MotionEvent,它将正常工作。

    【讨论】:

      【解决方案2】:

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

      您不能将其设置为高于 1。 它与线性布局无关。

      【讨论】:

      • 文档说“总是 >= 1”,意思是“大于或等于一”。
      • 另外,我没有“设置”任何东西 - 我正在从 MotionEvent 读取数据。
      猜你喜欢
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      相关资源
      最近更新 更多