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