参考链接:
Android 开发者->文档->指南->支持不同的像素密度

前言

Android 设备(手机、平板电脑、电视等)不仅有不同的屏幕尺寸,而且其屏幕也有不同的像素尺寸。也就是说,有可能一部设备的屏幕为每英寸 160 像素,而另一部设备的屏幕在相同的空间内可以容纳 480 像素。如果您不考虑像素密度的这些差异,系统可能会缩放图片(导致图片变模糊),或者图片可能会以完全错误的尺寸显示。

dpi

dpi是表示屏幕像素密度的单位,英文缩写是dots per inch,及正交方向上每英寸的像素点的个数。例如160dpi表示这种屏幕水平方向上一英寸内有160个像素点。

dp

要在密度不同的屏幕上保留界面的可见尺寸,必须使用密度无关像素 (dp) 作为度量单位来设计界面。dp 是一个虚拟像素单位,1 dp 约等于中密度屏幕(160dpi,“基准”密度)上的 1 像素。对于其他每个密度,Android 会将此值转换为相应的实际像素数。

sp

在定义文本大小时,应使用可缩放像素 (sp) 作为单位(但切勿将 sp 用于布局尺寸)。默认情况下,sp 单位与 dp 大小相同,但它会根据用户的首选文本大小来调整大小。

px

px是像素的单位,1个像素即为1px,px与dp的转换关系如下
px = dp * (dpi / 160)

mm

mm是标准长度单位,1英寸等于25.4mm,英寸和毫米和像素的转化关系如下
in = px/dpi
mm = px * 25.4 / dpi
dp与英寸和毫米的转化关系如下
in = dp /160
mm = 0.15875 * dp

更多相关文章

  1. Android(安卓)各种图片转黑白图和抖动算法的黑白图
  2. Android开发笔记(一)像素的单位
  3. Android中的dip,dp,sp,px
  4. Android中px, ppi, dpi, dp, dip, sp概念解析
  5. android学习笔记之图像像素操作
  6. android 布局长度单位深入研究(2)
  7. android多分辨率多密度下界面适配方案
  8. android资源自适应的认识(一)
  9. Nine Patch PNG in Android!

随机推荐

  1. Java线程之线程的交互
  2. clone 方法是如何工作的
  3. redis之发布与订阅
  4. Java线程之线程的调度-休眠
  5. Java 的版本历史与特性
  6. Java线程之线程的调度-优先级
  7. Java 中关于 String 类型的 10 个问题
  8. 使用 ThreadLocal 变量的时机和方法
  9. JDK1.8 ConcurrentHashMap的size
  10. 手把手教你用 Java 实现 AOP