Android 适配18:9 和 16:9 屏幕尺寸比例的问题

news/2025/2/4 2:28:54/

1.问题:

   在华为Mate 9 中,1080X1920分辨率,480dpi,XXhdpi, 1dp = 3px;

  按照设计的尺寸去做,最后出来的跟UI 的图,竖向上差距很大,因为我的竖向上同样70dp,显示到手机上很大

  最后,问同事才明白,手机是18:9的屏幕,而我们平常用的都是16:9的屏幕;所以根据这个比例 我的竖向上同样的像素占用空间会大;


2.解决:

  在Mainfest中设置屏幕最大的长宽比

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

3.引用
  

随着 Android 机碎片化越来越严重,带有杀马特一般硬件参数的手机也层出不穷。与以往的16:9长宽比不同,近期发布的几款旗舰机器的长宽比还真的是比较杀马特。

前几天三星S8刚出没多久,Android Developers Blog 很快就出了一篇文章:Update your app to take advantage of the larger aspect ratio on new Android flagship devices

本文主要就是这篇文章的理解性翻译,看官们有空修一波这个 Bug 就好。

两个典型的机子

两款非主流长宽比的机器:

  1. 三星 S8 18.5:9
  2. LG G6 18:9

会出现的问题

如果从来没有处理过 android.max_aspect,也没有设置 android:resizeableActivitytrue。那么你的应用在上述两款机型中,就会出现上下黑边的情况:

修复前后
修复前后

如何修复

把这段代码撸 AndroidManifest.xml<application> 标签里,完事儿

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

啥意思?

设置最大的长宽比,如果不手动设置 android.max_aspect ,则其使用默认值 1.86,差不多就是 16:9 的样子。

Tips

肯定有人问我 16/9 明明是 1.78 啊,为什么是 1.86 呢?

我自己也算了一遍,我的理解是这样的:9 * 1.86 = 16.7。也就是说多出来的这 0.7 可能是系统为杀马特长宽比的屏幕多预留的一点空间。也就是说只要是 16.7:9 及以下的机子,稍微有一点杀马特没关系,咱惯着你。

但这次尼玛三星和LG的这俩旗舰机,超过了 16.7,没办法了,只能手动改了=。=

为啥 2.1?

文章中提到:

We recommend that you design your app to support aspect ratios of 2.1 or higher

官方推荐 >=2.1,如果为2.1的时候,就是 18.9:9。18.9 至少还是可以坚持一段时间的,也不会有啥厂商做这么长吧?用户又不都是狄仁杰,拿那么长的令牌搞毛。

顺便围观一波

http://stackoverflow.com/questions/43126544/optimise-android-apps-for-phones-with-the-new-ratios-like-the-s8-18-59/43126712#43126712

这哥们儿这么快就拿到 S8 测试了。。。。羡慕



作者:Boolean93
链接:https://www.jianshu.com/p/a386434458be
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://www.ppmy.cn/news/683794.html

相关文章

QT5.12安卓环境的搭建(转载保存留档查看)

1. QT环境搭建 Qt 5.12.6安装的时候 添加 “Android ARM64-v8a”&#xff0c;也可以添加 “Android ARMv7” 。 &#xff08;其它为搭建qgc时需要添加的&#xff09; 2. Android 环境搭建 QT官方的指导&#xff1a; Qt 5.12 Getting Started with Qt for Android Qt 5.15 …

机器人和人工智能之间,是什么关系?

机器人是可编程机器&#xff0c;其通常能够自主地或半自主地执行一系列动作。许多机器人只是简单的、周而复始地执行同一程序&#xff0c;并不能自己做出判断&#xff0c;例如机器人乐队、跳舞机器人等。而人工智能是计算机科学的一个分支&#xff0c;AI算法可以解决学习、感知…

【懒人必备】智能窗帘机器人,告别手动拉窗帘——硬件设计篇

简介&#xff1a;智能窗帘机器人方案&#xff0c;无需专业人员上门安装&#xff0c;使普通窗帘秒变智能窗帘。 概述 随着智能家居的深入拓展&#xff0c;智能窗帘凭借成熟的技术和产品&#xff0c;逐步成为了智能家居家庭中的标配&#xff0c;在家装智能化市场有很高的应用价…

智能催收机器人

智能催收机器人语料训练 针对逾期一天的客户的催收机器人主要以提醒客户还款为主&#xff0c;对话流程设置较为简单&#xff0c;主要为 1.确定是不是本人 2.情况说明&#xff0c;询问逾期原因 3.第一次催收 4.第二次催收 5.结束语 针对第一次和第二次催收得到的肯定或者…

Python智能对话机器人实现

前言&#xff1a;看了许多大佬的博客&#xff0c;感觉做一个人工智能对话机器人其实不难。当然&#xff0c;从底层开始自己做是不可能的&#xff0c;那得自己研究语音识别算法&#xff0c;神经网络建立模型等等&#xff0c;要掌握一大堆超级高深的数学知识底蕴。今天&#xff0…

搭建人工智能wx机器人完整版教程

参考搭建流程 首先需要下载Ubuntu 20.04 镜像包 阿里云开源镜像包 下载方式&#xff1a; 打开以上网站-->点击20.04/-->点击ubuntu-20.04.5-live-server-amd64.iso下载 项目开源地址 https://github.com/zhayujie/chatgpt-on-wechat NxShell下载地址 https://xiaodao.lan…

人工智能机器人介绍

​每个学生都有一个机器学习伴侣&#xff0c;可以帮助学生整理学习笔记、发现学习中的问题&#xff0c;帮助学生更有效率地学习。格物斯坦表示&#xff1a;在未来几年中可以做得更好&#xff0c;关键就是数据。所有的教育专家们一定要关注教育的数据&#xff0c;因为有两种数据…

智能合约版抢购机器人测试

前言 距离上次测试视频发布已经过去一周时间&#xff0c;在这一周本人对机器人的购买方式进行了升级&#xff0c;使得速度以及稳定性都有了明显提升。 升级技术细节 第一版 直接调用PancakeRouter接口购买 第一代购买方式&#xff0c;监听到加池子后&#xff0c;脚本直接通…