在Nougat中禁用SplitScreen模式

问题描述 投票:0回答:2

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

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

android frameworks android-service android-source split-screen
2个回答
0
投票

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

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

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

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模式。

© www.soinside.com 2019 - 2024. All rights reserved.