在牛轧糖中禁用分屏模式



如何在不禁用多窗口模式的情况下禁用Android 7.1.1中的分屏模式?

我正在使用自由窗口模式打开多个活动。在设备的横向方向下,当活动被拖动到屏幕的左边缘或右边缘时,活动会停靠,并且 StackDivider 会拆分屏幕。禁用多窗口模式最终会禁用自由格式窗口模式。那么有没有办法通过编辑Android源代码来仅禁用分屏模式(而不禁用多窗口模式)?

> https://developer.android.com/guide/topics/ui/multi-window.html

根据文档,在清单活动或应用程序中执行此操作

android:resizeableActivity=["true" | "false"]

在自由格式模式下,当应用程序或窗口通过拖动其DecorCaptionView向左或向右移动屏幕时,会根据窗口的位置在左侧或右侧生成一个暗图层,并在事件MOtionEvent.ACTION_UP停靠在当前变暗的一侧。

DecorCaptionView上的MotionEvent操作由frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java处理,每当窗口停靠时moveTaskToDockedStack()都会调用ActivityManagerService中的方法。TaskPositioner.java中的updateDimLayerVisibility()方法负责创建暗淡层。因此,可以通过注释掉上面提到的两个方法调用行来禁用分屏模式TaskPositioner.java.

最新更新