关闭

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

标签: android
385人阅读 评论(0) 收藏 举报
分类:

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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

MIX2 适配看这一篇就够了,18:9 只需一行代码

今天同事已经拿到 minx 2了(F码通道),但是app 的状态栏适配不够好,空出很大一块出来。 直接上代码 AndroidManifest.xml只需在 AndroidManifest.xml...
  • yy1300326388
  • yy1300326388
  • 2017-09-15 15:35
  • 3667

Android全面屏适配

什么是全面屏概念很多人可能把全面屏跟曲面屏混淆,其实这是两个不同的概念。一般手机的屏幕纵横比为16:9,如1080x1920、1440x2560等,其比值为1.777777……,全面屏手机出现之前,A...
  • u014738140
  • u014738140
  • 2017-08-08 15:06
  • 6919

Android手机 全面屏(18:9屏幕)适配指南

Android手机 全面屏(18:9屏幕)适配指南 点击打开链接 从小米MIX 1发布以来,越来越多所谓“全面屏”手机发布,如三星S8,小米MIX2,VIVO X20,Google P...
  • wqbs369
  • wqbs369
  • 2017-11-27 09:48
  • 3150

Android适配三星S8的18.5:9,小米mix全面屏

一般手机的屏幕纵横比为16:9,如1080x1920、1440x2560等,其比值为1.777777……,全面屏手机出现之前,Android中默认的最大屏幕纵横比(maximum aspect rat...
  • qq_37237245
  • qq_37237245
  • 2017-06-16 18:54
  • 3570

Update your app to take advantage of the larger aspect ratio on new Android flagship devices

To deliver more engaging viewing experiences to their users, many Android OEMs are experimenting wit...
  • chengjiamei
  • chengjiamei
  • 2017-04-01 09:50
  • 336

升级你的APP,让你的旗舰设备支持更高的长高比

Posted by Neto Marin, Developer Advocate, Google Play 来自Android Developers Blog 上的一篇文章Update your ap...
  • dazhaoDai
  • dazhaoDai
  • 2017-05-15 15:49
  • 401

Android 适配18:9全面屏

2017年是全面屏爆发的大热潮,18:9屏幕的相拥而来,在使用18:9等非传统16:9的手机之后,部分手机应用出现了上下黑边。 解决方案: 1.设置 Android:resizeableAct...
  • zouzhigang96
  • zouzhigang96
  • 2018-01-08 16:27
  • 88

Android 屏幕适配方案(百分比)

博客源址:Android 屏幕适配方案 1、概述 大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了...
  • Buaaroid
  • Buaaroid
  • 2016-05-30 11:22
  • 7871

Android 开发:(九)Android屏幕适配经验谈

1.名词解释 屏幕尺寸: 也就是我们平时所说的某某手机是几寸屏, 比如HTC one V这款手机是3.7寸的, 这里的寸说的是英寸(inch),国际上习惯使用的单位,1inch = 2.54cm,...
  • Kevindongkun
  • Kevindongkun
  • 2017-03-16 15:31
  • 326

Android平板上开发应用-关于精确适配不同的dpi和屏幕尺寸

转载 http://www.cnblogs.com/zealotrouge/archive/2012/11/23/2784774.html Android平板上开发应用的一点心得——精确适配不同的...
  • u010872557
  • u010872557
  • 2017-02-17 13:52
  • 1419
    个人资料
    • 访问:36406次
    • 积分:533
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:78篇
    • 译文:0篇
    • 评论:0条