andorid系统layout、values、drawable适配

andorid屏幕适配

密度类型代表的分辨率(px)屏幕密度(dpi)换算(px/dp)比例
低密度(ldpi)240x3201201dp=0.75px3
中密度(mdpi)320x4801601dp=1px4
高密度(hdpi)480x8002401dp=1.5px6
超高密度(xhdpi)720x12803201dp=2px8
超超高密度(xxhdpi)1080x19204801dp=3px12

在Android中,规定以160dpi(即屏幕分辨率为320x480)为基准:1dp=1px

首选smallestWidth  

smallestWidth 限定符适配

  • 屏幕分辨率限定符适配是根据屏幕分辨率的,Android 设备分辨率一大堆,而且还要考虑虚拟键盘,这样就需要大量的 dimens.xml 文件。因为无论手机屏幕的像素多少,密度多少,90% 的手机的最小宽度都为 360dp,所以采用 smallestWidth 限定符适配只需要少量 dimens.xml 文件即可。
  • 屏幕分辨率限定符适配采用的是 px 单位,而 smallestWidth 限定符适配采用的单位是 dp 和 sp,dp 和 sp 是 google 推荐使用的计量单位。又由于很多应用要求字体大小随系统改变,所以字体单位使用 sp 也更灵活。
  • 屏幕分辨率限定符适配需要设备分辨率与 values-xx 文件夹完全匹配才能达到适配,而 smallestWidth 限定符适配寻找 dimens.xml 文件的原理是从大往小找,例如设备的最小宽度为 360dp,就会先去找 values-360dp,发现没有则会向下找 values-320dp,如果还是没有才找默认的 values 下的 demens.xml 文件,所以即使没有完全匹配也能达到不错的适配效果。
  • 无论是宽度还是高度,哪一边小就认为哪一边是“最小宽度”

 

  • 限定符类型:
  • 尺寸(size)限定符
  • 最小宽度(Smallest-width)限定符
  • 布局别名
  • 屏幕方向(Orientation)限定符

宽高限定符适配  这种做法不推荐使用, 比如1920x1080的手机就一定要找到1920x1080的限定符,否则就只能用统一的默认的dimens文件了。而使用默认的尺寸的话,UI就很可能变形,简单说,就是容错机制很差。

1.layout-sw500dp
   这里的sw代表smallwidth的意思,当你的屏幕的绝对宽度大于500dp时,屏幕就会自动调用layout-sw500dp文件夹里面的布局。

   注意:这里的绝对宽度是指手机的实际宽度,与手机横竖屏无关。

2.layout-w500dp
  当你的屏幕的相对宽度大于500dp时,屏幕就会自动调用layout-w500dp文件夹里面的布局。

  注意:这里的相对宽度是指手机相对放置的宽度;即当手机竖屏时,为较小边的长度;当手机横屏时,为较长边的长度。

3.layout-h500dp
与layout-w500dp的使用一样,只是这里指的是相对的高度。

注意:这里的相对高度是指手机相对放置的高度;即当手机竖屏时,为较长边的长度;当手机横屏时,为较小边的长度。但这种方式很少使用,因为屏幕在相对高度上,即在纵向上通常能够滚动导致长度变化,而不像横向那样基本固定,因而这个方法灵活性差,google官方文档建议尽量使用这种方式。

 

 

实例:密度为240  尺寸为:1280x720和1920x1080 应该放在哪个适配文件夹下

 Android中,规定以160dpi(即屏幕分辨率为320x480)为基准

对应的密度比为:

160  1
240  1.5
320  2

用最小做为宽度:1280x720 是720,1920x1080是1080
720/1.5 =480
1080/1.5 =720
sw480dp
sw720dp

layout 就是layout-sw720dp , 是values 就是values-sw720dp

参考:

https://www.jianshu.com/p/1302ad5a4b04

https://www.sohu.com/a/169423446_468731

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值