2

在 android Multi-Window Support 中,如何为应用程序配置多窗口模式?

需要在 manifest 的Activity应用程序节点中设置哪个属性来启用禁用多窗口显示?

4

1 回答 1

6

为特定活动(或整个应用程序)启用多窗口的最低要求是将resizeableActivity=true参数添加到<activity>(或<application>)标记。

以下是Android 开发人员的多窗口支持指南的概述:


如果您的应用面向Android N,您可以配置应用的活动如何以及是否支持多窗口显示。您可以在清单中设置属性来控制大小和布局。根活动的属性设置适用于其任务堆栈中的所有活动。例如,如果根活动android:resizeableActivity设置为 true,则任务堆栈中的所有活动都是可调整大小的。

注意:如果您构建的SDK版本低于Android N的多向应用,并且用户在多窗口模式下使用该应用,系统会强制调整该应用的大小。系统会显示一个对话框,警告用户应用程序可能会出现意外行为。系统不会调整固定方向应用程序的大小;如果用户试图在多窗口模式下打开一个固定方向的应用程序,该应用程序将占据整个屏幕。

  • android:resizeableActivity

在清单的活动应用程序节点中设置此属性以启用或禁用多窗口显示:

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

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

如果您的应用以Android N为目标,但您没有为此属性指定值,则该属性的值默认true

  • 安卓:支持画中画

在清单的活动节点中设置此属性以指示活动是否支持画中画显示。如果android:resizeableActivityfalse ,则忽略此属性。

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

布局属性

Android N中,布局清单元素支持多个影响活动在多窗口模式下的行为方式的属性:

  • android:defaultWidth

    以自由模式启动时活动的默认宽度

  • android:defaultHeight

    以自由模式启动时活动的默认高度

  • android:gravity

    以自由形式启动时活动的初始位置。有关合适的值,请参阅重力参考。

  • android:minHeight, android:minWidth

    活动在分屏和自由格式模式下的最小高度和最小宽度。如果用户在分屏模式下移动分隔线以使活动小于指定的最小值,系统会将活动裁剪为用户请求的大小。

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

<activity android:name=".MyActivity">
<layout android:defaultHeight="500dp"
      android:defaultWidth="600dp"
      android:gravity="top|end"
      android:minHeight="450dp"
      android:minWidth="300dp" />

于 2016-06-21T08:52:21.603 回答