【Android中dpdpi与px的关系】弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述Android中dpdpi与px的关系相关的知识,希望能为你提供帮助。
转自知乎用户的回答:
1. dpi是dot per inch,每英寸多少点,ppi是 Pixel per inch,每英寸像素数,针对显示器的设计时,dpi=ppi。
ppi计算方法是长宽各自平方之和开方,除以对角线长度(单位英寸)。原理可以自己画个矩形勾股定理算一算。
2. ppi表示显示设备的点密度,dpi表示印刷品点密度。
3. dip或dp,是安卓开发用的单位,1dp表示在屏幕点密度为160ppi时1px长度。
因为安卓设备屏幕众多不可能为每个屏幕单独开发,所以用公式 px=dp*(ppi/160)计算在不同屏幕上的像素数。
举例:HVGA屏320*480,一般是3.5寸,计算点密度为√ (320^2 + 480^2) / 3.5 = 164,约等于160,1pd=1px
WVGA屏480*800,按3.8寸屏算,点密度 √ (480^2 + 800^2) / 3.8 = 245,约等于240,1dp=1.5px。
还有更高分辨率的屏幕就不一一列举了,总之dp是为了方便适配不同屏幕的单位,在不同屏幕密度下,1dp的物理长度也相同。
作者:知乎用户
链接:https://www.zhihu.com/question/21220154/answer/18584739
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
推荐阅读
- 设计模式与Android策略模式——锦囊里的上策中策下策
- android binder 基础实例及解析
- 判断手机是否安装某app,有就打开,没有就去下载
- 设计模式与Android责任链模式——曹瞒兵败走华容
- popwindow在安卓7.0手机 显示错位的处理
- Android CameraManager 类
- Auto updater for my side loaded UWP apps
- 5+ App开发入门指南
- APP 自动化测试封装结构模式