目前Android SDK支持的尺寸单位有6个:px(像素)、in(英寸)、mm(毫米)、pt(一个物理点,1/72英寸)、dp(与密度无关的像素)、sp(与比例无关的像素)。其中px、i、mm和pt用来设置绝对尺寸的单位,并不会随着 屏幕分辨率的变化而做出相应的调整,而dp和sp会随着屏幕分辨率的变化进行调整。所以除了特殊需要,建议使用dp作为尺寸单位,而使用sp作为字体尺寸
由于手机屏幕分辨率各有不同,而且无法调整当前手机分辨率,因此,Android SDK提供了dp和sp两个尺寸单位来根据分辨率调整组件和字体的大小。dp和sp都是相对于160dpi的尺寸单位的。160dpi相当于每英寸屏幕上有160个物理像素点,一般320*480或者类似大小的分辨率的屏幕都是160dpi。因此,如果程序运行在带有160dpi屏幕的手机上,dp、sp和px的效果是一样的。但如果是更高分辨率的屏幕,如240dpi(一般是480*800分辨率的屏幕)px仍然会根据实际物理像素处理,而dp和sp会用当前值乘一个系数(240/160=1.5)。
sp不仅可以按屏幕密度对尺寸进行调整,还可以按着用户设置的不同字体调整文子的尺寸,是文字以最好的效果显示,因此建议设置文字大小时使用sp,设置其他尺寸时使用dp
android尺寸单位
最新推荐文章于 2024-05-21 10:02:53 发布