如何为多Window模式配置应用程序?
How to Configuring App for Multi-Window Mode?
在 android Multi-Window 支持中,如何为 multi-window 模式配置应用程序?
manifest的activity或application节点需要设置哪个属性为enable 或 禁用 多 window 显示?
为特定 activity(或整个应用程序)启用 multi-window 的最低要求是将 resizeableActivity=true
参数添加到 <activity>
(或<application>
) 标签。
这里是 Android Developers' Multi-Window Support 指南的概述:
如果您的应用面向 Android N,您可以配置应用的 Activity 如何以及是否支持多 window 显示。您可以在清单中设置属性来控制大小和布局。根 activity 的属性设置适用于其任务堆栈中的所有活动。例如,如果根 activity 将 android:resizeableActivity
设置为 true,则任务堆栈中的所有活动都可以调整大小。
Note: If you build a multi-orientation app with a version of the SDK lower than Android N, and the user uses the app in multi-window mode, the system forcibly resizes the app. The system presents a dialog box warning the user that the app may behave unexpectedly. The system does not resize fixed-orientation apps; if the user attempts to open a fixed-orientation app under multi-window mode, the app takes over the whole screen.
- android:resizeableActivity
在清单的 activity 或 application 节点中设置此属性以启用或禁用 multi-window显示:
android:resizeableActivity=["true" | "false"]
如果此属性设置为 true,activity 可以在 分屏和自由格式模式 下启动。如果该属性设置为 false,则 activity 不支持 multi-window 模式 。如果此值为 false,并且用户尝试在多 window 模式下启动 activity,则 activity 会接管全屏。
如果您的应用面向 Android N,但您没有为此属性指定值,则该属性的值 defaults 到 true.
- android:支持画中画
在清单的 activity 节点中设置此属性以指示 activity 是否支持 画中画 显示。如果 android:resizeableActivity
为 false.
,则忽略此属性
android:supportsPictureInPicture=["true" | "false"]
布局属性
使用 Android N,layout 清单元素支持几个影响 activity 行为方式的属性在多 window 模式下:
android:defaultWidth
在自由模式下启动时 activity 的默认 宽度。
android:defaultHeight
在自由模式下启动时 activity 的默认 高度 。
android:gravity
在自由模式下启动时 activity 的初始位置。有关合适的值,请参阅 Gravity 参考。
android:minHeight, android:minWidth
activity 在分屏和自由格式模式下的最小高度和最小宽度。如果用户在分屏模式下移动分隔线使 activity 小于指定的最小值,系统会将 activity 裁剪为用户请求的大小。
例如, 下面的代码显示了如何指定 activity 的默认大小和位置,以及它的最小大小,当 activity以自由形式显示:
<activity android:name=".MyActivity">
<layout android:defaultHeight="500dp"
android:defaultWidth="600dp"
android:gravity="top|end"
android:minHeight="450dp"
android:minWidth="300dp" />
在 android Multi-Window 支持中,如何为 multi-window 模式配置应用程序?
manifest的activity或application节点需要设置哪个属性为enable 或 禁用 多 window 显示?
为特定 activity(或整个应用程序)启用 multi-window 的最低要求是将 resizeableActivity=true
参数添加到 <activity>
(或<application>
) 标签。
这里是 Android Developers' Multi-Window Support 指南的概述:
如果您的应用面向 Android N,您可以配置应用的 Activity 如何以及是否支持多 window 显示。您可以在清单中设置属性来控制大小和布局。根 activity 的属性设置适用于其任务堆栈中的所有活动。例如,如果根 activity 将 android:resizeableActivity
设置为 true,则任务堆栈中的所有活动都可以调整大小。
Note: If you build a multi-orientation app with a version of the SDK lower than Android N, and the user uses the app in multi-window mode, the system forcibly resizes the app. The system presents a dialog box warning the user that the app may behave unexpectedly. The system does not resize fixed-orientation apps; if the user attempts to open a fixed-orientation app under multi-window mode, the app takes over the whole screen.
- android:resizeableActivity
在清单的 activity 或 application 节点中设置此属性以启用或禁用 multi-window显示:
android:resizeableActivity=["true" | "false"]
如果此属性设置为 true,activity 可以在 分屏和自由格式模式 下启动。如果该属性设置为 false,则 activity 不支持 multi-window 模式 。如果此值为 false,并且用户尝试在多 window 模式下启动 activity,则 activity 会接管全屏。
如果您的应用面向 Android N,但您没有为此属性指定值,则该属性的值 defaults 到 true.
- android:支持画中画
在清单的 activity 节点中设置此属性以指示 activity 是否支持 画中画 显示。如果 android:resizeableActivity
为 false.
android:supportsPictureInPicture=["true" | "false"]
布局属性
使用 Android N,layout 清单元素支持几个影响 activity 行为方式的属性在多 window 模式下:
android:defaultWidth
在自由模式下启动时 activity 的默认 宽度。
android:defaultHeight
在自由模式下启动时 activity 的默认 高度 。
android:gravity
在自由模式下启动时 activity 的初始位置。有关合适的值,请参阅 Gravity 参考。
android:minHeight, android:minWidth
activity 在分屏和自由格式模式下的最小高度和最小宽度。如果用户在分屏模式下移动分隔线使 activity 小于指定的最小值,系统会将 activity 裁剪为用户请求的大小。
例如, 下面的代码显示了如何指定 activity 的默认大小和位置,以及它的最小大小,当 activity以自由形式显示:
<activity android:name=".MyActivity">
<layout android:defaultHeight="500dp"
android:defaultWidth="600dp"
android:gravity="top|end"
android:minHeight="450dp"
android:minWidth="300dp" />