android编程之dp,px,sp区别及使用场景
2012-06-26 15:44
260 查看
1.px (pixels)(像素):屏幕上的点 ,与密度相关。密度大了,单位面积上的px会比较多。
2.dip或dp(与密度无关的像素)。这个和设备硬件有关,为了支持WVGA、HVGA和QVGA 5进制空间推荐使用这个。一种基于屏幕密度的抽象单位。设置一些view的宽高可以用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。如果用px的话,320px占满HVGA的宽度,到WVGA上就只能占一半不到的屏幕了,那一定不是你想要的。
3.sp(与刻度无关的像素)放大像素– 主要处理字体的大小。
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
2.dip或dp(与密度无关的像素)。这个和设备硬件有关,为了支持WVGA、HVGA和QVGA 5进制空间推荐使用这个。一种基于屏幕密度的抽象单位。设置一些view的宽高可以用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。如果用px的话,320px占满HVGA的宽度,到WVGA上就只能占一半不到的屏幕了,那一定不是你想要的。
3.sp(与刻度无关的像素)放大像素– 主要处理字体的大小。
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
相关文章推荐
- android编程之dp,px,sp区别及使用场景
- android编程之dp,px,sp区别及使用场景
- 屏幕分辨率及px,dp,sp的使用区别
- dip,px,sp区别及使用场景
- 简述Android单位dp、sp、dip、px、等的区别和使用
- dip,px,sp区别及使用场景
- android中px,dp,sp的区别与使用方法
- px、dp、dip、dpi、sp 等到底有什么联系区别?
- 安卓中 dp\px\sp的区别
- Android中dip、dp、sp、pt和px的区别
- Android中dp、sp、px的转换和区别。
- px、dp和sp这些单位有什么区别?
- (Android入门)px,dp,sp区别
- 【转】Android长度单位px,in,mm,pt,dp,dip,sp换算公式以及区别
- Android中dp,dip,sp,pt和px的区别
- px、dp和sp,这些单位有什么区别?
- android中 px、dip、sp区别和使用方法
- Android中px、dp、dip、sp的区别和认识
- Android中dip、dp、sp、pt和px的区别
- px、dip、sp区别和使用方法