在android多窗口支持中,如何为多窗口模式配置应用程序?
需要在清单的活动或应用程序节点中设置哪个属性来启用或禁用多窗口显示?
为特定活动(或整个应用程序)启用多窗口的最低要求是将resizeableActivity=true
参数添加到<activity>
(或<application>
)标签。
以下是《Android开发者的多窗口支持》指南的概述:
如果您的应用程序以Android N为目标,则可以配置应用程序的活动如何以及是否支持多窗口显示。您可以在清单中设置属性以控制大小和布局。根活动的属性设置适用于其任务堆栈中的所有活动。例如,如果根活动已android:resizeableActivity
设置为true,则任务堆栈中的所有活动都是可调整大小的。
注意:如果使用SDK低于Android N的版本构建多方向应用程序,并且用户在多窗口模式下使用该应用程序,则系统会强制调整该应用程序的大小。系统显示一个对话框,警告用户该应用程序可能表现异常。系统不会调整固定方向应用的大小;如果用户尝试在多窗口模式下打开固定方向的应用程序,则该应用程序将接管整个屏幕。
在清单的活动或应用程序节点中设置此属性以启用或禁用多窗口显示:
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" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句