Android 中的单位换算

作者: GYLEE | 来源:发表于2016-10-23 17:40 被阅读145次

在Android中常见的换算涉及的单位有:dp、px、dip、

一、各个量的概念

1.像素:px

1.分辨率:

手机屏幕横纵方向上的像素点

比如:480X800,320X480。

2.屏幕尺寸:

屏幕对角线的长度,单位为:寸。

3.dpi--像素密度:每英寸像素数

计算方法:(4寸 480X800)
dpi=(480平方+800平方)根方/4

4. dp(每英寸像素数)

dp 就是 dip

5. density (屏幕密度)

计算方法:density=dpi/(160dpi/英寸)。

图片来自网络

ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3

二、单位之间的换算

1.dp与px

dp=(dpi/160像素/英寸)px=density*px

三、解疑

为什么我们在布局文件中最好使用dip/dp,而不要使用px?

原因:由于手机的屏幕尺寸和分辨率不同,导致手机的屏幕密度dip(dp)不同,所以如果我们使用px作为布局文件中的单位时,根据px与dp之间的换算关系:
dp=(dpi/160)*px

  • 在屏幕密度为 160dpi(320*480)的设备上表现为:2px=2dp/(dpi/160)=2dp/(160/160)=2dp
    即:为2px的尺寸在160dpi的设备上显示的为2dp,
  • 320dpi(720*1080)的设备上的表现为:
    2px=2dp/(dpi/160)=2dp/(320/160)=1dp
    即:为2px的尺寸在320dpi的设备上显示的为1dp。

由于1px为在每个设备上的宽度相等(单位尺寸上的像素数),所以2px在320dp设备上的大小为160dp设备上大小的1/2。而使用dp则不会发生这样的情况,只是像素点数不同,但表现在设备上的大小相同。
具体表现为
以一个长度为

相关文章

  • Android 中的单位换算

    在Android中常见的换算涉及的单位有:dp、px、dip、 一、各个量的概念 1.像素:px 1.分辨率: 手...

  • Android单位换算

    我们在开发过程中,一般使用xml进行界面布局的绘制,在设置界面布局宽高方面,Android提供了多种计量单位如di...

  • Android单位换算

    px :像素 in :英寸 mm :毫米 pt :磅,1/72 英寸 dp :一个基于density的抽象单位,如...

  • Android单位换算

    px(像素):屏幕上的点。in(英寸):长度单位。mm(毫米):长度单位。pt(磅):1/72英寸。dp(与密度无...

  • Android一稿双平台适配

    dp Android开发使用的单位,其实相当于一种换算单位,可以保证控件在不同密度的屏幕上按照这个比例单位换算显示...

  • 2021-10-22多状态值的开发总结

    最近开发中遇到这种情况,某值是跟据单位进行换算的,假如有大小两种单位。换算方式是,大单位值*换算量 = 小单位值。...

  • 单位换算

    一、分类 1、长度单位、面积单位、体积(容积)单位 巧记:记长度单位,平方零翻倍,立方零3倍 特殊:1公顷=100...

  • 单位换算

    张长占 济南市民生大街小学 谈话导入:这几年学了哪些单位换算? 生:时间,长度,体积,容积… 想想单位换算你们都是...

  • 单位换算

    换算公式 面 积 换 算 1平方公里(km2)=100公顷(ha)=247.1英亩(acre)=0.386平方英里...

  • 单位换算

    一公斤=2斤,一斤=500克,一两=50克,一斤=10两 一公里=2里,1里=500米

网友评论

    本文标题:Android 中的单位换算

    本文链接:https://www.haomeiwen.com/subject/dhklyttx.html