一种利用百分比布局适配所有Android手机屏幕分辨率的方法
我的新书《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设计师在设计稿上标注的值!
总结
优点
缺点
下载地址
更多精彩内容,请关注我的公众号:国民程序员
一种利用百分比布局适配所有Android手机屏幕分辨率的方法相关推荐
- Unity3D Android手机屏幕分辨率问题
Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android ...
- adb 查看屏幕大小_Android应用开发之adb命令如何获取android手机屏幕分辨率
本文将带你了解Android应用开发之adb命令如何获取android手机屏幕分辨率,希望本文对大家学Android有所帮助 #### 1. 通用方法: adb shell dumpsys win ...
- Android 手机屏幕分辨率
屏幕尺寸 屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米(下面有图文介绍) 比如常见的屏幕尺寸有2.4.2.8.3.5.3.7.4.2.5.0.5.5.6.0等 屏幕分辨率 屏幕分辨率 ...
- android手机屏幕分辨率
QVGA(240x320) 用于 1000元以下的低端Android手机,显示效果和塞班S60V3的手机一样,对软件的兼容性不好,很多应用运行起来可能会无故退出,代表机型有中兴N600.HTC G ...
- android手机可以设置屏幕锁定,Android手机屏幕锁定设置方法(九个点图案)
这是三星S5368手机屏幕锁的示例 随着三星S5368手机系统的功能越来越完善,性能越来越强. 越来越多的三星S5368用户喜欢在三星S5368手机中添加一些重要信息甚至是隐私,但是这种方式可能会被其 ...
- 国内市场上 Android 手机屏幕分辨率的比例情况如何?
http://www.zhihu.com/question/19587205 根据友盟发布的<友盟国内Android数据报告>,前六名分别是: 800×480,32.4% 480×320, ...
- android分辨率选择,安卓Android手机屏幕壁纸分辨率选择技巧
大家先看看对应的壁纸分辨率: 屏幕分辨率为 480×320 的Android手机,对应的壁纸分辨率为:640x480. 屏幕分辨率为 800×480 的Android手机,对应的壁纸分辨率为:960x ...
- android壁纸和手机屏幕之间要怎么对应,安卓Android手机屏幕壁纸分辨率选择技巧...
安卓Android手机屏幕壁纸分辨率选择技巧 现在使用安卓手机的人好多了,一个好的手机壁纸自然是大家的追求,那么要怎么挑选适合自己安卓手机的手机壁纸呢~登博教程小编来教你挑选吧~ 大家先看看对应的壁纸 ...
- Android开发——Android手机屏幕适配方案总结
0. 前言 Android的屏幕适配,即使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果,这个问题一直以来都是我们Android开发者不得不面对的问题.本文参考了很多前人的博 ...
最新文章
- buffers和cache的区别
- android中判断设备定位状态
- aix如何安装mysql_AIX下安装Mysql
- python学习(四)--POST请求
- 天玑机器人颈椎_天玑骨科手术机器人亮相机器人大会 误差不到1毫米
- Python数模笔记-Sklearn(2)聚类分析
- 在SQL Server 2017中使用Python进行数据插值和转换
- 2018-2019-2 网络对抗技术 20165322 Exp8 Web基础
- python __builtins__ str类 (65)
- 群体智能优化算法之烟花算法(Fireworks Algorithm,FWA)
- 解决 Win 10 输入法(仅桌面)的问题
- 移动云迁移工具:物理服务器迁移到移动云
- OSChina 周四乱弹 ——1000万没了!因为这个孩子在家这样
- 通过 Ansible 来操作 Windows 服务器
- 【生物信息学-基因表达谱】什么是基因表达谱
- 手机计算机藏应用,把隐私藏进计算器!这款功能强大的隐私保护软件,层层防护,怒赞...
- 程序员的语言“艳遇史”(四) ——数学系师姐forth
- 组合数学——信封错装问题
- PCB 多层板为什么都是偶数层?
- vue移动端双击页面放大问题