android 屏幕适配

android的屏幕有点太五花八门了,这似乎也算是自由、民主价值体现了,尊重每个不同的个体。

res下的文件对不同 语言、屏幕方向、宽度等等,都可以不同的配置文件夹对应,算是比较方便国际化和多样性。

 

用一个把全部属性都用上的例子:

values-mcc310-en-sw320dp-w320dp-h720dp-large-long-port-car-night-ldpi-notouch-keysexposed-nokeys-navexposed-nonav-v7


觉得红色标记的部分是比较有用的。

sw320dp:表示两个方向某个方向最低宽度 320dp。这个值 系统中是不会变的,它只表示两边中短的那一个边

w320dp、h720dp: 表示最佳(最小)可用屏幕宽度,假如 只有 w320 ,那么,实际可以是适配到w320,这个值是会变的,

           屏幕方向变的时候也就变了,w320dp表示横向的长度,h720表示纵向的长度

large:表示屏幕尺寸

          small:尺寸类似于低密度 QVGA 屏幕的屏幕。小屏幕的最小布局尺寸约为 320x426 dp 单位
          normal:尺寸类似于中等密度 HVGA 屏幕的屏幕。标准屏幕的最小布局尺寸约为 320x470 dp 单位
          large:尺寸类似于中等密度 VGA 屏幕的屏幕。 大屏幕的最小布局尺寸约为 480x640 dp 单位
          xlarge:明显大于传统中等密度 HVGA 屏幕的屏幕。超大屏幕的最小布局尺寸约为 720x960 dp 单位

ldpi:

          ldpi:低密度屏幕;约为 120dpi。 就是每inch 大概 120像素
          mdpi:中等密度(传统 HVGA)屏幕;约为 160dpi。 大概每inch 160 像素
          hdpi:高密度屏幕;约为 240dpi。 大概每inch 260像素
          xhdpi:超高密度屏幕;约为 320dpi。API 级别 8 中新增配置 大概每inch 320像素
          xxhdpi:超超高密度屏幕;约为 480dpi。API 级别 16 中新增配置 大概没inch 480像素

          xxxhdpi:超超超高密度屏幕使用(仅限启动器图标,请参阅“支持多个屏幕”中的注释);约为 640dpi

 


可以知道对不同的屏幕适配,最好是能够做到在不同的物理尺寸下,不同的分辨率都配置到

所以一般会有:

drawable-sw320dp-[h720dp]-port-ldpi
drawable-sw320dp-[h720dp]-port-mdpi
drawable-sw320dp-[h720dp]-port-hdpi
drawable-sw320dp-[h720dp]-port-xhdpi
....
这样的目录,以适配不同的大概相同尺寸下的不同分辨率的情况。

 


附加说明:
dp是一个物理单位。有一种算是标准的对应
160px=160dp=1 inch 此时 px:dp =1:1

130px=160dp=1 inch 此时 px:dp =2:1

总之 160dp=1 inch,每个dp对应多少px,那可以很不同的。屏幕的横向多少dp,纵向多少dp,也是可以不同的。

posted @ 2016-05-22 19:59  瘸腿  阅读(368)  评论(0编辑  收藏  举报