Android适配方法之dimen适配

1. 常见的适配方式及弊端
  • dp:最常见的适配方式,但是呈现的效果只是相近而已;甚至4.3寸屏幕上准备的UI,放在5.0屏幕上,很可能右侧和下侧出现很大的空白。
  • weight:当我们想让两个控件各占屏幕的1/2的时候,weight可以达到很好的效果,但是功能太过单一
2. PC端如何解决适配问题

从事Android开发,我们从来没有听过PC端同事抱怨适配的问题,因为PC提供了百分比适配大小。

3. Android基于百分比原理的dimen适配

借鉴PC百分比适配,Hongyang开发出了dimen适配框架,使用简单,功能强大。
原理:根据市面上手机分辨率的占比分析,我们把1280和720设定为一个基准,然后其他分辨率根据这个基准做适配。
基准的意思(比如320*480的分辨率为基准)是:
- 为320,将任何分辨率的宽度分为320份,取值为x1到x320
- 为480,将任何分辨率的高度分为480份,取值为y1到y480
例如对于800*480的宽度480:

<?xml version="1.0" encoding="utf-8"?>
<resources><dimen name="x1">1.5/dimen>
<dimen name="x2">3.0px</dimen>
<dimen name="x3">4.5</dimen>
<dimen name="x4">6.0px</dimen>
<dimen name="x5">7.5px</dimen>

可以看到x1 = 480 / 基准 = 480 / 320 = 1.5 ;它的意思就是同样的1px,在320/480分辨率的手机上是1px,在480/800的分辨率的手机上就是1*1.5px,px会根据我们指定的不同values文件夹自动适配为合适的大小。如果你还是不太懂,那不要紧,看看下面的操作方法,你就会懂了。

4. 使用方法:
  • 首先下载jar包:
    链接: http://pan.baidu.com/s/1crbwwI 密码: dxwa
  • 其次解压查看jar运行说明.txt文件,定制以1280/720为基准的分辨率,操作方法:

    在你下载后的文件夹里面 按住Shift+鼠标右击进入命令行对话框,输入
    java -jar autolayout.jar 720 1280就会自动生成res文件夹(默认的是以1080/1280为基准,所以需要自己设置),假如你觉得这些value文件夹里面没有你想要的分辨率可以在制定基准分辨率的同时,添加额外的分辨率(比如400/600),输入java -jar autolayout.jar 720 1280 400,600,假如想多添加几个额外的分辨率(又想添加500*700)只需把额外的分辨率用下划线隔开即可,输入java -jar autolayout.jar 720 1280 400,600_500,700

  • 接着把res里面的value文件夹放到res下面即可
  • 美女设计师给我们设计图(标记好了各个控制的大小距离等等),肯定是以px为标记的,那假如宽50px,高80px,我们只需要把宽高写为@dimen/x50,@dimen/y80即可
5.注意

我们用AndroidStudio开发的时候,边写布局边看AndroidStudio的布局效果图,有时候@dimen/xxx会报错,说找不到,这个时候我们看下AndroidStudio的布局效果图是在哪个分辨率下面,然后看看res文件夹下面是否有对应的values分辨率文件夹,如果没有通常会报错,这个时候把AndroidStudio的布局效果图对应的分辨率改为我们res文件夹里面有的values分辨率就可以了。

如果哪里有错误或者纰漏,还请指正,多谢大家支持。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值