Android-布局单位以及布局说明
2012-11-05 13:41:02 来源:WEB开发网核心提示: 概念:dp(dip): device independent pixels(设备独立像素)dip,就是把屏幕的高分成480分,Android-布局单位以及布局说明,宽分成320分,比如你做一条160dip的横线,它是以xhdpi的模式运行,也就是说:在相同布局,无论你在320还480的模拟器上,都是一半屏的长度上面的
概念:
dp(dip): device independent pixels(设备独立像素)
dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度
上面的理解是错的,整个屏幕所拥有的dp是由px和dpi这两个硬件参数共同决定。
dp=px*160/dpi(由px=dpi/160*dp推出)
px:pixel(像素)
由手机硬件决定。
dpi:dot per inch每英寸像素
由手机硬件决定。
dpi=ppi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸)
计算了一下小米手机屏幕的PPI,4.0英寸、分辨率854X480,PPI(DPI)
=√(854^2+480^2)/4=244.912……≈245.
sp:scaled pixels(放大像素),主要用于字体显示。
pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业。
布局参考表格:
全屏像素 | 常规DPI | 横屏dp |
竖屏dp
|
|
mdpi | 480*320 | 160dpi | 320dp |
480dp
|
ldpi | 800*480 | 240dpi | 320dp |
533dp
|
xldpi | 1280*720 | 320dpi | 360dp |
640dp
|
如果想设置布局占半个横屏,就可以在mdpi,ldpi设置为160dp。然后在xldpi设置为180dp。
SDK影响布局:
通常我们开发在XML布局里用到dp,但dp是受到两个硬件参数影响的,因此设置dp也可能引起不同设备的布局错位!
需要注意的是:我所使用的开发机为nexus3(1280*720、320dpi),项目设置为2.2时,它是以hdpi的模式运行。项目设置为2.2兼容4.1时,它是以xhdpi的模式运行。也就是说:在相同布局,相同设备的情况下,项目设置不同的SDK运行的可视布局也不一样!
普通的2.2与 加上以下代码的2.2 进行对比:
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接