- px:pixels(像素),1px的长度对应屏幕一个像素点的大小。
- dp/dip:(density-independent pixels,设备无关像素)
- sp:scaled pixels(可缩放像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放
android在运行时会自动将dp/sp为单位的尺寸转换为像素单位的值。
dp与px的比较:
- 以dp为单位:差手机和好手机上显示的大小是不变的
- 以px为单位:在差手机上显示变大,在好手机上显示变小
dp与sp的比较:
- 用户可以在系统设置中设置文本的大小
- 如果字体大小使用sp为单位,设置有效果
- 如果字体大小使用dp为单位,设置没有效果
结论:
- 在布局文件视图的宽高度尽量用match_parent/wrap_content
- 如果必须指定特定值,使用dp/dip做单位
- 字体大小用sp做单位