在运行 Android 12 或更高版本的大屏幕和可折叠设备上,无论默认配置如何,应用程序都可以与其他应用程序同时以多窗口模式运行。如果您的应用程序专为特定的方向或宽高比而设计,或者不可调整大小,Android OS 会自动将其切换为兼容性模式。在此模式下,Android OS 会缩放应用程序以适应可用的屏幕大小。但是,在某些情况下,应用程序可能无法针对特定屏幕大小进行优化,导致用户体验不佳。
注意:对于运行 Android 12 或更高版本的设备,多窗口模式是默认行为。
为了确保一致的用户体验,请考虑设计能适应各种屏幕大小的应用程序,包括大屏幕和可折叠设备。可以使用以下设置和 API。
Resizeable Activity Player 设置可在应用程序中启用多窗口模式,并可让 Android OS 将其视为可调整大小。对于新项目,Unity 默认启用此设置,并在 Android 清单文件中设置 android.resizeableActivity="true"。在这种情况下,将忽略宽高比限制。
如果选择设置 android.resizeableActivity="false",Android OS 的行为方式如下:
| Android OS 版本 | 行为 |
|---|---|
| 早于 Android 12 | 将应用程序显示为全屏并禁用多窗口模式。 |
| Android 12 及更高版本 | 默认情况下启用多窗口模式,并激活应用程序的兼容性模式,使其适应可用的屏幕尺寸。 |
在兼容性模式下,应用程序可能无法按预期显示。在诸如从大屏幕上的屏幕过渡至可折叠设备屏幕的情况下,操作系统可能会提示用户重新启动应用程序。重新启动应用程序会导致活动和整体应用程序状态丢失。
注意:在运行 Android 12 或更高版本的小屏幕设备上,可调整大小的应用程序支持基于 Activity 的 minWidth 和 minHeight 的多窗口模式。不可调整大小的应用程序不支持小屏幕设备上的多窗口模式。
AndroidApplication API 在设备上运行时提供有关 Android 应用程序的信息。可以使用此 API 执行以下操作:
使用 AndroidApplication.onConfigurationChanged 方法可以检测任何设备配置的更改情况。可以检索设备信息,例如屏幕布局、屏幕大小和方向。该方法还检索其他配置详细信息,例如屏幕是折叠还是展开、使用的键盘类型以及用户对语言和地区的偏好。有关可以检索哪些设备属性的更多信息,请参阅 AndroidConfiguration API。使用 AndroidApplication.onConfigurationChanged 方法进行必要的调整,例如重新排列用户界面,以确保应用程序无缝适应不同的设备配置。