手机尺寸相关的概念
1.手机的尺寸: 屏幕对角线的长度,单位为英寸(2.54cm)
• 手机的分辨率: 屏幕能显示的像素的数量, 一般用在长方向上数量*宽方
向上数量来表达
• 手机的像素密度: pixels per inch,也称PPi,即每英寸屏幕能显示的像
素数,像素密度越大,显示画面细节就越丰富。
计算:像素密度=√[(长度像素数)2+(宽度像素数)2]/屏幕尺寸
• DPI: Dots Per Inch(每英寸所打印的点数或线数)的缩写,用来表示打印
机打印分辨率, 但有时也会用dpi来代指ppi
• 手机的密度: Density, 以160ppi为基准, 即像素密度为160时Density为1
ldpi 120dpi 0.75
mdpi 160dpi 1.0
hdpi 240dpi 1.5
xhdpi 320dpi 2.0
2.尺寸单位
px: pixels(像素)
1px的长度就对应屏幕一个像素点的大小
• dp/dip:
density-independent pixels(密度无关像素)
1dp = (dpi / 160) * 1 px 320ppi2px 120ppi0.75px
1dp = density * 1 px
1px = (1/density) * 1 dp
• sp:
scaled pixels(可缩放像素)
与dp类似,但是可以根据用户的字体大小首选项进行缩放
注意: Android在运行时会自动将dp/dip/sp为单位的尺寸转换为像素单位的值
3.尺寸单位的比较
dp与px的比较?
• 以px为单位的长度, 在差手机上会变大, 在好手机上变小
• 以dp为单位则不会变化
• dp与sp的比较?
• 用户可以在系统设置中设置文本的大小
• 如果字体大小使用sp为单位, 设置有效果
• 如果字体大小使用dp为单位, 设置没有效果
• 在布局文件视图的宽高尽量用match_parent/wrap_content
• 如果必须指定特定值, 使用dp/dip做单位
• 文字大小使用sp做单位