android.max_aspect meta有什么区别?

最近的博客解释说我们必须使用

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

AndroidManifest.xml的 <application>元素中,可以在超宽屏设备(如Samsung Galaxy S8)上进行最佳显示。

为了testing这个,我在Android 7.1.1上安装了我的app(没有max_aspect,没有resizeableActivity标志; targetSdkVersion=22compileSdkVersion=24 )。 模拟器与自定义2960×1440分辨率。 所有的活动,包括身临其境,填补屏幕没有利润如博客文章所示。

我添加了明确的

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

这也对模拟器没有影响。

所以,问题是:这个元标志只在真实的设备上检查过,或者是我的模拟器错过了一些configuration?

更新:我试图达到被引用的博客作者Neto Marin 。 我发现一个自鸣得意的鸣叫 ] 关于他对全球Android Dev社区的贡献,但无法得到他的答案。

Solutions Collecting From Web of "android.max_aspect meta有什么区别?"

如果你的android:resizeableActivity不正确,android.max_aspect只会有所不同。 如果你的应用程序的目标API是24或更高的android:resizeableActivity设置为true。

注意:如果活动的android:resizeableActivity属性设置为true,则不需要设置最大宽高比。 如果您的应用定位到API级别24或更高,则此属性默认为true。 有关更多信息,请参阅configuration您的应用程序的多窗口模式。

请参阅文档 。

您必须根据需要设置仿真器的高宽比。

试试这些步骤:

 In Android Studio, open AVD Manager Create Virtual Device New Hardware Profile Set name: "18:9 aspect ratio screen" Set resolution: 1080 x 2160 Finish Select "18:9 aspect ratio screen" Next Select system image Nougat (API Level 25) Next AVD Name: "API Level 25 Nougat 18x9 aspect ratio screen" Finish 

然后在这个模拟器上运行。

如果您没有设置值,并且android:resizeableActivity不是true,那么最大宽高比默认为1.86(约16:9),您的应用程序将不会利用额外的屏幕空间。

如果活动的android:resizeableActivity属性设置为true,则不需要设置最大宽高比。 如果您的应用定位到API级别24或更高,则此属性默认为true。

所以,经过2个多月的尝试再现了信箱效应,由你们真正的,更受尊重的社区成员 ,

好吧,我炮轰了一个Galaxy S8的$$$,我不能重现信箱的效果。 我已经尝试设置android:resizeableActivity =“false”,或者 – 或者没有效果。 我已经尝试手动添加,这也没有效果。 我试过把targetSdkVersion放到23,也没有效果。 有一个项目重现信箱效应的步骤是什么? 就个人而言,我对我所看到的(该活动正常填充屏幕)感到满意,但与Android开发者博客post背道而驰,所以我试图弄清楚这篇文章是否已经过时或者是什么我丢了。

我相信我们可以举手宣誓。 博客文章 假消息

TL; NR :尚未跟踪未声明 max-aspect meta的设备可能会阻止应用程序利用更大(更宽)的屏幕。 AOSP没有证据表明可以进行这种检查。

如果情况发生变化,或者我收到一些澄清,我会得到更新的答案。