如何使用 Android P 禁用多点触控?

How to disable multi touch with Android P?

theme.xml 中添加以下代码,并在 AndroidManifest.xml 上使用 android:theme 属性引用它。

<item name="android:splitMotionEvents">false</item>
<item name="android:windowEnableSplitTouch">false</item>

在 Android P 以下效果很好。

Unfortunately, it does't work on some devices running with Android 9.0.

伙计们,我该如何解决?

我试图在我的 Activity 上覆盖 dispatchTouchEvent 作为计划 B。

事实上,它确实有效。虽然它可能会以某种方式导致一些错误。

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    return ev.getPointerCount() == 1 && super.dispatchTouchEvent(ev);
}

我遇到了同样的问题。但是,如果您需要禁用每个视图的多点触控(例如,对于 recycerview),您可以在布局中使用 android:splitMotionEvents="false"。与 Android P.

一起工作正常