如何在不禁用MultiWindow模式的情况下禁用Android 7.1.1中的SplitScreen模式?
我使用自由格式窗口模式打开多个活动。在活动被拖动到屏幕的左边缘或右边缘时,设备的横向方向活动停靠,StackDivider分割屏幕。禁用MultiWindow模式最终会禁用自由窗口模式。那么有没有办法通过编辑Android源代码来禁用SplitScreen模式(不禁用MultiWindow模式)?
答案 0 :(得分:0)
https://developer.android.com/guide/topics/ui/multi-window.html
根据文档,在清单活动或应用程序中执行此操作
android:resizeableActivity=["true" | "false"]
答案 1 :(得分:0)
在自由格式模式下,当通过拖动应用程序或窗口的DecorCaptionView
向左或向右移动屏幕时,根据窗口的位置在左侧或右侧生成一个暗淡的图层,并将其停靠到MOtionEvent.ACTION_UP
事件中当前暗淡的一面。
MotionEvent
上的DecorCaptionView
操作由frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
处理,并且moveTaskToDockedStack()
中的ActivityManagerService
方法在停靠窗口时被调用。 updateDimLayerVisibility()
中的TaskPositioner.java
方法负责创建暗淡层。因此,可以通过在TaskPositioner.java
中注释掉上面提到的两个方法调用行来禁用SplitScreen模式。