原则上,我的应用程序不知道屏幕的宽高比(因为它应该适用于Android应用程序)。现在,recommended的做法是手动添加
<meta-data android:name="android.max_aspect" android:value="ratio_float" />
由于智能手机屏幕的趋势,纵横比高于默认支持的比率1.86,因此进入清单。我的问题是,有没有更好的方式告诉Android 我不关心什么是最大宽高比,而不是设置硬编码比例,例如2.1。
如果不是,我可以设置任意高的值,例如3.1甚至5.1吗?这样做是否安全?我不是在谈论异国情调的奇怪屏幕尺寸,而是主流未来屏幕以及未来处理这种情况的最佳做法。谢谢
答案 0 :(得分:2)
正如您在Android Developers Blog上看到的那样,他们也提示resizableActivity
。
注意:如果您没有设置值,并且android:resizeableActivity不成立,则最大宽高比默认为1.86(大约16:9),您的应用不会利用额外的屏幕空间。
因此,您应该将android:resizeableActivity="true"
添加到您的活动或应用程序中。 documentation也声明了
如果此属性设置为true,则可以在分屏和自由格式模式下启动活动。
似乎自由格式是你关心的。
答案 1 :(得分:0)
android:resizeableActivity
为真。这意味着该应用程序将来会自动自由形式(如果我错了,请纠正我)。考虑到Galaxy S8已经开启了Nougat,我说没有必要担心你的应用程序是否可以采用自由形式。
编辑:如果你的targetSdkVersion是&lt; 24然后你应该使用David的解决方案,因为对于安装了Nougat(或更高版本)的手机操作系统,自由格式不会自动启动。