0

我正在考虑FontSize根据我的设备有多大来设置我的应用程序。即如果设备小于 8" 使字体小于默认值。

所以我使用的设备是联想 S8-50 8 英寸平板电脑,正如您在规格中看到的那样Screen Size: 8 inches

因此,查看Github上的一些代码,我看到以下内容:

var d = Resources.System.DisplayMetrics;
this.ScreenHeight = (int)(d.HeightPixels / d.Density);

对于这个设备,返回的数字是912,我无法弄清楚这个数字与设备的关系。

所以我的问题是这个数字实际上代表什么?

4

1 回答 1

1

来自官方文档:

与密度无关的像素 (dp) 定义 UI 布局时应使用的虚拟像素单位,以与密度无关的方式表示布局尺寸或位置。与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统会根据使用中屏幕的实际密度,根据需要透明地处理 dp 单位的任何缩放。dp 单位到屏幕像素的转换很简单:px = dp * (dpi / 160)。例如,在 240 dpi 的屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,您应该始终使用 dp 单位,以确保您的 UI 在不同密度的屏幕上正确显示。

这也将有所帮助:

了解密度独立性

于 2016-02-01T09:03:16.910 回答