Android 屏幕密度 dpi 与 ppi

mor*_*oce 5 android screen-density

根据 android 文档,密度应以dpi(每英寸点数)为单位,所有布局测量应以dp为单位。

使用一个简单的公式 android 可以将dp映射到实际像素。

px = dp * (dpi / 160), 
160dpi ~ medium density screen which is the baseline
Run Code Online (Sandbox Code Playgroud)

那么为什么不直接使用ppi(每英寸像素)来描述屏幕密度呢?

Udi*_*dan 3

关于这个问题有很多文档,但我认为这部分与您的问题相关:

支持多屏

密度无关性

当您的应用程序在不同密度的屏幕上显示时保留用户界面元素的物理尺寸(从用户的角度来看),即可实现“密度独立性”。

保持密度独立性非常重要,因为如果没有它,UI 元素(例如按钮)在低密度屏幕上看起来会更大,而在高密度屏幕上会看起来更小。这种与密度相关的尺寸变化可能会导致应用程序布局和可用性出现问题。图 2 和图 3 分别显示了应用程序不提供密度独立性和提供密度独立性时的差异。

在此输入图像描述

在此输入图像描述

  • 这个答案是否说明了为什么使用 dpi 而不是 ppi?在我看来,它们是相同的测量值,只是有不同的基线...ppi 基于 1 英寸,而 Google 的 dup(设备独立像素)基于其设备之一上的 160 ppi... (6认同)
  • 为什么它被接受的答案?我想我不明白为什么我们使用 dpi 而不是 ppi。我已经知道为什么我们需要 dpi。 (3认同)