最近的blog说明我们必须使用

<meta-data android:name="android.max_aspect" android:value="2.1" />

AndroidManifest.xml <application>元素中,可在超宽屏设备上实现最佳显示,例如三星Galaxy S8。

为了测试这一点,我在Android 7.1.1上安装了我的应用程序(没有max_aspect,没有resizeableActivity标志; targetSdkVersion=22compileSdkVersion=24)。具有自定义2960x1440分辨率的模拟器。如博客文章中所示,所有 Activity ,包括沉浸式 Activity ,在屏幕上都没有空白。

我添加了明确的
<meta-data android:name="android.max_aspect" android:value="1.5" />

这对仿真器也没有影响。

所以,问题是:仅在真实设备上检查此meta标志,还是我的模拟器错过了某些配置?

更新:我试图联系被引用的博客文章的作者Neto Marin。对于他对全局Android Dev社区的贡献,我发现了一个引以为傲的tweet android - android.max_aspect元数据在哪里有所作为?-LMLPHP,但没有得到他的答复。

最佳答案

如果您的android:resizeableActivity不正确,则android.max_aspect才有所作为。
如果您应用的目标API为24或更高版本,则android:resizeableActivity设置为true。



请引用documentation

10-05 17:55
查看更多