0

如何在不禁用 MultiWindow 模式的情况下禁用 Android 7.1.1 中的 SplitScreen 模式?

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

4

2 回答 2

0

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

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

android:resizeableActivity=["true" | "false"]
于 2018-03-26T11:33:25.907 回答
0

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

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

于 2019-04-11T16:50:52.457 回答