1

我已经阅读了文档,也从其他来源提取数据,但无法理解这个非常基本的东西。

在 android 中,我们使用DP,因为它的响应性和resources相对于屏幕尺寸的拉伸。

我的问题是不同屏幕的密度不同。让我们考虑以下 2 个屏幕密度。

  1. mdpi - 160dpi
  2. hdpi -240 dpi

假设我将width-height图像定义为20dpX20dp 人们说不要使用px,因为它因设备而异,但dpi也因设备而异,

我知道它工作正常,但我想了解这背后的科学,它是如何管理的,当有不同dpi's的屏幕时。

据我了解,屏幕的 1dpi 不会等于1dpi其他屏幕的。

请指导我。我刚刚放弃了这个。

4

1 回答 1

2

考虑数字屏幕上某物的“大小”时,需要考虑两件事:对象的大小(以像素为单位)和对象的物理大小。

当您以像素为单位指定对象的大小时,它将在具有不同密度的屏幕上具有不同的物理大小。

以两台 5" 屏幕的设备为例。设备 A 的显示屏为 1920 x 1080 像素,而设备 B 的显示屏为 960 x 540 像素。两者的物理尺寸相同,但屏幕上的像素数却大不相同。如果您有一个 50 像素宽 x 50 像素高的图像,该图像在设备 A 上看起来要小得多,因为设备 A 上的像素更紧密地打包在一起。

DPs 是一个单元,它允许我们为这些不同设备上的对象指定一致的大小。如果您指定一个对象应为 160dp 宽,那么它在每个设备上的宽度约为 1 英寸。在 mdpi 设备上为 160 像素,但在 xhdpi 设备上为 320 像素。

于 2016-05-13T13:36:36.370 回答