最近的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=22
,compileSdkVersion=24
)。具有自定义2960x1440分辨率的模拟器。如博客文章中所示,所有 Activity ,包括沉浸式 Activity ,在屏幕上都没有空白。我添加了明确的
<meta-data android:name="android.max_aspect" android:value="1.5" />
这对仿真器也没有影响。
所以,问题是:仅在真实设备上检查此meta标志,还是我的模拟器错过了某些配置?
更新:我试图联系被引用的博客文章的作者Neto Marin。对于他对全局Android Dev社区的贡献,我发现了一个引以为傲的tweet
最佳答案
如果您的android:resizeableActivity不正确,则android.max_aspect才有所作为。
如果您应用的目标API为24或更高版本,则android:resizeableActivity设置为true。
请引用documentation。