我的新书《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设计师在设计稿上标注的值!