Android屏幕适配

来源:互联网 发布:mac 安装apt get命令 编辑:程序博客网 时间:2024/06/01 10:48
Android屏幕适配:
主要概念及转化:
px(像素值):比如 320*480中,宽度是160px,那么宽度是整个屏幕的1/2。640*960,宽度是整个屏幕的1/4。

dpi/density(屏幕密度):每英寸打印的点数,也就是说由屏幕分辨率和物理尺寸共同决定。
举例来说,假设现在有一台“宽2英寸,长3英寸”的设备,则:
当该设备分辨率为“320*480”,则dpi值为160。
当该设备分辨率为“640*960”,则dpi值为320。

使用场景:
正是因为dpi值其代表的特性,所以android项目的资源文件下存在以下目录:
drawable-ldpi    ( 当dpi为120时,使用此目录下的资源)
drawable-mdpi    ( 当dpi为160时,使用此目录下的资源)
drawable-hdpi    ( 当dpi为240时,使用此目录下的资源)
drawable-xhdpi   ( 当dpi为320时,使用此目录下的资源)
drawable-xxhdpi  ( 当dpi为480时,使用此目录下的资源)
也就是说,Android引用相应的资源文件时,是根据屏幕密度的,而不是分辨率。


dp/dip(独立像素密度):1dp = (dpi / 160)px。
说明:
当物理尺寸相同时:分辨率越高,相应的dpi也就越高: 1dp所能转换的px也越多,那么控件的大小如果以dp作为单位,是能够相应的适配屏幕。
当分辨相同时,物理尺寸越大,相应的dpi也就越低:1dp所能转换的px也就越少,是不能适配的。
比如说:在4.0寸,480*840分辨情况下,dpi=240, 如果控件的宽度=320dp,转换成px=320*240/160=480,占满整个屏幕。
       在5.1寸,480*840分辨率的情况下,dpi=160,如果控件的宽度=320dp,转换成px=320*160/160=320,右侧是有空白区域的。
总结:dp只能在相同物理尺寸,不同分辨率下进行屏幕的适配。

屏幕适配方案:
连接http://blog.csdn.net/lmj623565791/article/details/45460089。



0 0