分裂屏幕在 Android Nougat 中实现

在清单或元素中设置此属性以启用或禁用多窗口显示:

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

如果此属性设置为 true,则可以在分屏和自由格式模式下启动活动。如果该属性设置为 false,则活动不支持多窗口模式。如果此值为 false,并且用户尝试以多窗口模式启动活动,则活动将占据整个屏幕。

如果你的应用以 API 级别 24 为目标,但未指定此属性的值,则属性的值默认为 true。

以下代码显示了在自由格式模式下显示活动时如何指定活动的默认大小和位置及其最小大小:

<--These are default values suggested by google.-->
<activity android:name=".MyActivity">
<layout android:defaultHeight="500dp"
      android:defaultWidth="600dp"
      android:gravity="top|end"
      android:minHeight="450dp"
      android:minWidth="300dp" />
</activity>

多窗口模式下禁用的功能

当设备处于多窗口模式时,某些功能被禁用或忽略,因为它们对于可能与其他活动或应用共享设备屏幕的活动没有意义。这些功能包括:

  1. 某些系统 UI 自定义选项已禁用; 例如,如果应用程序未以全屏模式运行,则无法隐藏状态栏。

  2. 系统忽略对 android:screenOrientation 属性的更改。

如果你的应用针对 API 级别 23 或更低级别

如果你的应用程序的目标是 API 级别 23 或更低,并且用户尝试在多窗口模式下使用该应用程序,系统会强制调整应用程序的大小,除非该应用程序声明了固定方向。

如果你的应用未声明固定方向,则应在运行 Android 7.0 或更高版本的设备上启动应用,并尝试将应用置于分屏模式。在强制调整应用程序大小时,验证用户体验是否可接受。

如果应用程序声明了固定方向,你应该尝试将应用程序置于多窗口模式。确认在执行此操作时,应用程序仍处于全屏模式。