分享

借鉴drawable文件夹,使用dimens控制字体大小、边距大小。适配Android不同机型,不同...

 寒蝉hhbb 2017-03-08
以前一直是个Get用户,一直都是伸手党,最近刚好项目中要用到机型适配,试了很多方法(配置不同layout文件夹,不同的layout文件等)。但都感觉后期维护工作量巨大,后来从图片资源适配获得灵感,使用value不同的dimens文件,达到适配的效果:
1、创建不同的位图(Android官方介绍)
  • xxxhdpi: 5.0           500*500 
  • xxhdpi: 3.0            300*300
  • xhdpi:2.0            200*200
  • hdpi:1.5             150*150
  • mdpi:1.0(baseline)   100*100
  • ldpi:0.75            75*75 
文件夹名称
比例
图片大小(示例)
屏幕宽度
DPI值
分辨率举例
drawable-xxxhdpi
5.0
500*500
1440左右
640dpi
2560*1440(Nexus6)
drawable-xxhdpi
3.0
300*300
1080左右
480dpi
1080*1920
drawable-xhdpi
2.0
200*200
720左右
320dpi
720*1280
drawable-hdpi
1.5
150*150
480左右
240dpi
480*800,480*854,540*960
drawable-mdpi
1.0(BaseLine)
100*100
360左右
160dpi
320*480
drawable-ldpi
0.75
75*75
240左右


2、借鉴drawable文件夹,依次创建values,values-mdpi, values-hdpi,values-xhdpi, values-xxhdpi, values-xxxhdpi。 (鉴于现在ldpi的机型很少,就直接使用默认的values来做适配)。

测试的过程中,使用mdpi做为基线 ,我针对像素单位dp使用10dp, 字体大小单位sp使用10sp。其它文件的单位,分别使用上面的比例关系,设置字体,边距大小。

文件夹名称
字体大小sp
距离大小dp
手机输出值(字体大小)
手机显示值(距离大小)
values-xxxhdpi
50
50
175.0
175.0
values-xxhdpi
30
30
90.0
90.0
values-xhdpi
20
20
40.0
40.0
values-hdpi
15
15
22.5
22.5
values-hdpi(854*480)


25.87
22.5
values-mdpi
10
10
10.0
10.0
values-ldpi
7.5
7.5
5.625
5.625



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多