我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

场景

1、团队里面,UI设计师往往只提供以一个标准分辨率来设计的UI设计稿,用于Android、iOS、H5三端。

2、Android手机分辨率众多,如何让UI在不同分辨率的手机上面能有相同的效果?

解决方案

在网上看到有一种解决方案是按照屏幕分辨率根据基准分辨率来等比缩放,经过实际项目中使用后,效果不错,
因此来跟大家分享一下这个方案,以及使用过程中需要注意的问题。
1、

这是UI设计师以iPhone6的分辨率为基准给出的设计稿:

2、

我们在代码里面将宽、高值设定:

注意:为什么是1294像素而不是1334像素?因为UI设计稿是将iPhone状态栏的高度也算进去了,

我们可以看下iPhone各个分辨率对应的状态栏的高度值:

3、

在eclise里面或者用cmd命令,去运行java代码,这样可以生成一堆不同分辨率的文件夹,

4、

将这些生产的文件夹拷贝到android studio工程下面的res目录下,系统即可自动识别找到对应分辨率的文件夹。

5、

如果想添加新的分辨率,只需要添加新的分辨率值即可,然后重新生成一次,再讲新生成的文件夹拷贝到项目中。

6、

使用的时候,一律使用@dimen/+x方向或y方向的数值,比如android:layout_width="@dimen/x128",android:layout_height="@dimen/y128",

这个128值,就是UI设计师在设计稿上标注的值!

总结

优点

1、UI设计人员只需要根据一个分辨率出一套UI设计稿,即可供Android、iOS、H5三端开发人员使用;
UI设计人员在设计稿上统一使用PX像素为单位进行标注。
2、有新的分辨率需要适配时,只需要生成对应分辨率的文件夹即可,一般来说,设备的分辨率不会经常更新;
3、如果设备没有找到对应的分辨率的文件夹,系统会分配一个最接近的文件夹给到设备使用;

缺点

和字体的搭配使用:
在实际开发过程中往往会遇到一个问题就是,字体大小怎么设置?
一般来说我们字体的单位是sp,使用sp的原因主要就是能够配合系统设置里面调节系统字体大小,
如果我们限制了ViewGroup的高度,而系统字体调大了,会导致什么样的结果?
很可能就是字是变大了,但是有部分显示不出来了。
后续我会另外写一篇文章专门介绍怎么解决这样的问题。

下载地址

多分辨率适配文件下载:
http://download.csdn.net/download/ddnosh/10182124

更多精彩内容,请关注我的公众号:国民程序员

一种利用百分比布局适配所有Android手机屏幕分辨率的方法相关推荐

  1. Unity3D Android手机屏幕分辨率问题

    Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android ...

  2. adb 查看屏幕大小_Android应用开发之adb命令如何获取android手机屏幕分辨率

    本文将带你了解Android应用开发之adb命令如何获取android手机屏幕分辨率,希望本文对大家学Android有所帮助 #### 1.   通用方法: adb shell dumpsys win ...

  3. Android 手机屏幕分辨率

    屏幕尺寸 屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米(下面有图文介绍) 比如常见的屏幕尺寸有2.4.2.8.3.5.3.7.4.2.5.0.5.5.6.0等 屏幕分辨率 屏幕分辨率 ...

  4. android手机屏幕分辨率

    QVGA(240x320)   用于 1000元以下的低端Android手机,显示效果和塞班S60V3的手机一样,对软件的兼容性不好,很多应用运行起来可能会无故退出,代表机型有中兴N600.HTC G ...

  5. android手机可以设置屏幕锁定,Android手机屏幕锁定设置方法(九个点图案)

    这是三星S5368手机屏幕锁的示例 随着三星S5368手机系统的功能越来越完善,性能越来越强. 越来越多的三星S5368用户喜欢在三星S5368手机中添加一些重要信息甚至是隐私,但是这种方式可能会被其 ...

  6. 国内市场上 Android 手机屏幕分辨率的比例情况如何?

    http://www.zhihu.com/question/19587205 根据友盟发布的<友盟国内Android数据报告>,前六名分别是: 800×480,32.4% 480×320, ...

  7. android分辨率选择,安卓Android手机屏幕壁纸分辨率选择技巧

    大家先看看对应的壁纸分辨率: 屏幕分辨率为 480×320 的Android手机,对应的壁纸分辨率为:640x480. 屏幕分辨率为 800×480 的Android手机,对应的壁纸分辨率为:960x ...

  8. android壁纸和手机屏幕之间要怎么对应,安卓Android手机屏幕壁纸分辨率选择技巧...

    安卓Android手机屏幕壁纸分辨率选择技巧 现在使用安卓手机的人好多了,一个好的手机壁纸自然是大家的追求,那么要怎么挑选适合自己安卓手机的手机壁纸呢~登博教程小编来教你挑选吧~ 大家先看看对应的壁纸 ...

  9. Android开发——Android手机屏幕适配方案总结

    0. 前言 Android的屏幕适配,即使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果,这个问题一直以来都是我们Android开发者不得不面对的问题.本文参考了很多前人的博 ...

最新文章

  1. buffers和cache的区别
  2. android中判断设备定位状态
  3. aix如何安装mysql_AIX下安装Mysql
  4. python学习(四)--POST请求
  5. 天玑机器人颈椎_天玑骨科手术机器人亮相机器人大会 误差不到1毫米
  6. Python数模笔记-Sklearn(2)聚类分析
  7. 在SQL Server 2017中使用Python进行数据插值和转换
  8. 2018-2019-2 网络对抗技术 20165322 Exp8 Web基础
  9. python __builtins__ str类 (65)
  10. 群体智能优化算法之烟花算法(Fireworks Algorithm,FWA)
  11. 解决 Win 10 输入法(仅桌面)的问题
  12. 移动云迁移工具:物理服务器迁移到移动云
  13. OSChina 周四乱弹 ——1000万没了!因为这个孩子在家这样
  14. 通过 Ansible 来操作 Windows 服务器
  15. 【生物信息学-基因表达谱】什么是基因表达谱
  16. 手机计算机藏应用,把隐私藏进计算器!这款功能强大的隐私保护软件,层层防护,怒赞...
  17. 程序员的语言“艳遇史”(四) ——数学系师姐forth
  18. 组合数学——信封错装问题
  19. PCB 多层板为什么都是偶数层?
  20. vue移动端双击页面放大问题

热门文章

  1. 关于matlab GUI重命名的问题。
  2. Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)
  3. 公司电脑监控软件究竟有何作用?
  4. muduo学习笔记:net部分之Http--HttpServer
  5. matlab dbns实现,深度置信网DBNs的源码
  6. 云南大学计算机学院导师信息,云南大学软件学院研究生导师介绍:姚绍文(教授,博士生导师)...
  7. poj3525(二分+半平面判定)
  8. 速领电商:怎么制作视频短片
  9. AI作画:文心一格赋能艺术与设计创作
  10. 初涉QQ飞车第一天-创建角色