首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >android.max_aspect元在哪里有所不同?

android.max_aspect元在哪里有所不同?
EN

Stack Overflow用户
提问于 2017-04-03 15:54:39
回答 3查看 9.6K关注 0票数 26

最近的blog解释说,我们必须使用

代码语言:javascript
复制
<meta-data android:name="android.max_aspect" android:value="2.1" />

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

为了测试这一点,我在安卓7.1.1上安装了我的应用程序(没有max_aspect,没有resizeableActivity标志;targetSdkVersion=22compileSdkVersion=24)。具有自定义2960x1440分辨率的仿真器。所有的活动,包括身临其境的,充满了屏幕,没有空白,如博客帖子所示。

我添加了explicit

代码语言:javascript
复制
<meta-data android:name="android.max_aspect" android:value="1.5" />

这对仿真器也没有影响。

那么,问题是:这个meta标志是只在真实设备上检查的,还是我的模拟器遗漏了一些配置?

更新:我试图联系到被引用的博客文章的作者Neto Marin。我找到了一个骄傲的tweet

关于他对全球Android Dev社区的贡献,但无法从他那里得到答案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-07 17:04:22

信箱发生在不同的设备上,如三星S8,LG G6Pixel 2 XL和其他一些设备。它似乎是Android 8的一部分,尤其是8.1。

官方Android 8.1 compatibility definition包含以下段落:

将Configuration.uiMode设置为UI_MODE_TYPE_NORMAL的

C-0-1设备实现必须具有介于1.3333 (4:3)和1.86 (大约16:9)之间的纵横比值,除非应用程序可以通过满足以下条件之一而被视为准备拉伸更长时间:

  • 该应用程序已声明它通过API元数据值支持更大的屏幕宽高比。
  • 该应用程序声明它可通过android:resizeableActivity attribute.
  • The应用程序调整大小目标是API26或更高级别,并且不会声明会限制允许的宽高比的android:MaxAspectRatio

请注意,前两个属性是应用程序级别的,而后一个属性属于Activity。

一些供应商允许最终用户进一步控制这一点。LG在“显示”设置中有"App Scaling" menu;三星lets you choose的“全屏应用程序”。

票数 4
EN

Stack Overflow用户

发布于 2017-04-21 16:55:51

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

注意:如果活动的android: true活动属性设置为true,则不需要设置最大纵横比。如果您的应用程序以API级别24或更高级别为目标,则此属性默认为true。有关更多信息,请参见将应用程序配置为多窗口模式。

请参考documentation

票数 9
EN

Stack Overflow用户

发布于 2017-06-09 12:24:02

你必须根据你的需要设置模拟器的纵横比。

尝试以下步骤:

代码语言:javascript
复制
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不是真的,那么最大宽高比默认为1.86 (大约16:9),你的应用程序将不会利用额外的屏幕空间。

如果活动的android:resizeableActivity属性设置为true,则不需要设置最大纵横比。如果您的应用程序以API级别24或更高级别为目标,则此属性默认为true。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43179314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档