在开发Android项目时,常常遇到不同手机上布局显示不一致的问题,而在有的手机上,特别在小米手机上,低密度的屏幕让很非常烦恼。
设配的定义:在不同的手机上显示出相同的效果。
屏幕尺寸:手机对角线的尺寸,单位英寸(inch), 1inch = 2.54cm。Android常见的尺寸有5寸、5.5寸和6寸。
屏幕分辨率:手机在横向和纵向上像素点的总和。一般描述为宽*高,单位piex,1px = 1个像素点。Android手机常见的分辨率为:320*480, 480*800, 720*1280, 1080*1920。
屏幕像素密度:每英寸的像素点数,dots per inch(dpi), 假如一个设备的每英寸有160个像素,那就说dpi为160。
Android手机对于每类手机屏幕大小都有一个相应的屏幕像素密度(这是当然的,尺寸不同,不同厂商的偷工减料
,让像素多少也不相同)
密度类型 | 代表的分辨率(px) | 屏幕像素密度(dpi) |
低密度(ldpi) | 240*320 | 120 |
中密度(mdpi) | 320*480 | 160 |
高密度(hdpi) | 480*800 | 240 |
超高密度(xdpi) | 720*1280 | 320 |
超超高密度(xxdpi) | 1080*1920 | 480 |
屏幕尺寸、分辨率和像素密度关系:
dpi = 对角线/屏幕大小。
在Android中,规定以160dpi位基准(屏幕分辨率320*480)位基准,1dp = 1px。
独立比例像素:scale-independent pixel , 叫sp或者sip。Android设置字体大小,不推荐使用奇数,会造成精度丢失问题。一般推荐使用12sp、14sp、18sp和22sp。
为什么要进行Android设配:
由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android系统进行定制,屏幕尺寸的
碎片化和系统密度的碎片化都让开发者很烦恼。
解决方案:
布局匹配:
本质1:使得布局元素自适应屏幕尺寸。使用相对布局,非常灵活。
本质2:根据屏幕的配置来加载相应的UI布局。