在 android Multi-Window Support 中,如何为应用程序配置多窗口模式?
需要在 manifest 的Activity或应用程序节点中设置哪个属性来启用或禁用多窗口显示?
在 android Multi-Window Support 中,如何为应用程序配置多窗口模式?
需要在 manifest 的Activity或应用程序节点中设置哪个属性来启用或禁用多窗口显示?
为特定活动(或整个应用程序)启用多窗口的最低要求是将resizeableActivity=true
参数添加到<activity>
(或<application>
)标记。
以下是Android 开发人员的多窗口支持指南的概述:
如果您的应用面向Android N,您可以配置应用的活动如何以及是否支持多窗口显示。您可以在清单中设置属性来控制大小和布局。根活动的属性设置适用于其任务堆栈中的所有活动。例如,如果根活动android:resizeableActivity
设置为 true,则任务堆栈中的所有活动都是可调整大小的。
注意:如果您构建的SDK版本低于Android N的多向应用,并且用户在多窗口模式下使用该应用,系统会强制调整该应用的大小。系统会显示一个对话框,警告用户应用程序可能会出现意外行为。系统不会调整固定方向应用程序的大小;如果用户试图在多窗口模式下打开一个固定方向的应用程序,该应用程序将占据整个屏幕。
在清单的活动或应用程序节点中设置此属性以启用或禁用多窗口显示:
android:resizeableActivity=["true" | "false"]
如果此属性设置为true,则可以在分屏和自由格式模式下启动活动。如果该属性设置为false,则该活动不支持多窗口模式。如果此值为 false,并且用户尝试在多窗口模式下启动 Activity,则 Activity 将占据全屏。
如果您的应用以Android N为目标,但您没有为此属性指定值,则该属性的值默认为true。
在清单的活动节点中设置此属性以指示活动是否支持画中画显示。如果android:resizeableActivity
为false ,则忽略此属性。
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" />