屏幕适配(二)

屏幕适配(一) 点击打开链接

=================================

----android如何查找最佳匹配资源?

                  Android会根据当前的设备配置选择要在运行时使用的备用资源。


-------Android是怎么匹配图片资源的?        

   ----------以 mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi作为扩展名

              当应用在设备对应dpi目录下没有找到某个资源时,遵循“先高再低”原则,然后按比例缩放图片:

                          比如,当前为xhdpi设备,并且只有以下几个目录,则drawable的寻找顺序为:

                               xhdpi->xxhdpi->xxxhdpi(如果没有更高的了)->nodpi(如果有的话)->hdpi->mdpi,

                                     如果在xxhdpi中找到目标图片,则压缩2/3来使用,如果在mdpi中找到图片,则放大2倍来使用。

-----详细解读

点击打开链接


--------Android是怎么匹配布局资源的?

  ----------以1920*1080形式作为扩展名

     单向检索,只匹配比自己小的,绝不往上去匹配;屏幕分辨率以720*1280为例

        系统先检索720*1280及其附近的(720*1300等),如果匹配失败,则向下检索(480*800等),直至检索的到默认(320*480),如果向下检索得不到匹配,

            则应用挂掉,运行时异常。

                      *******以上规律对屏幕适配没有任何帮助;

----------以 mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi作为扩展名

                      当应用在设备对应dpi目录下没有找到某个资源时,遵循“先高再低”原则:

                          比如,当前为xhdpi设备,并且只有以下几个目录,则layout的寻找顺序为:

                               xhdpi->xxhdpi->xxxhdpi(如果没有更高的了)->nodpi(如果有的话)->hdpi->mdpi,

                                


--------Android是怎么匹配values资源的?


----------以 mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi作为扩展名

values目录用来放置colors.xml,dimens.xml,strings.xml等,也可以根据屏幕密度设置特定的values目录让满足设定的设备进行加载,比如values-mdpi、values-hdpi、values-xhdpi、values-xxhdpi等等,然后每个目录放置一个demins.xml,使不同分辨率的设备应用不同的尺寸设置。当应用设备在当前dpi对应目录的demins.xml中没有找到目标条目时,采用“就近匹配”原则:

  • 比如,当前为hdpi设备,并且只有以下几个目录,则values的寻找顺序为:
    hdpi->xhdpi->mdpi->values,即先向上级dpi目录查找,再向下级dpi目录查找,最后一路向下查找到values目录,如果values下都找不到,就只有找values-ldpi,当然,现在有这个目录的应用不多了。

  ----------以1920*1080形式作为扩展名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值