【问题标题】:large resolution takes image from drawable instead of drawable-xxhdpi大分辨率从drawable而不是drawable-xxhdpi获取图像
【发布时间】:2018-06-17 09:46:21
【问题描述】:

在我的 xamarin 应用程序中,我根据分辨率在可绘制资源和其他资源文件夹中设置了图像

当我在平板电脑中运行应用程序时,它从可绘制文件夹而不是 drawable-xxhdpi 获取图像?

为什么?

有什么想法吗? 请帮忙

【问题讨论】:

  • 平板电脑使用哪种 DPI?
  • @cheesebaron 我们怎么知道?
  • 我使用的是三星 Galaxy P7500 设备
  • 800 x 1280 像素,16:10 比例(~149 dpi 密度),根据 GSMArena。尝试检查 Android 报告的屏幕 DPI:Resources.DisplayMetrics。但是貌似这个设备是mdpi设备而不是xxhdpi。
  • 这取决于屏幕大小和分辨率。大多数较新的手机使用比平板电脑更大的分辨率。所以这个假设是不正确的。

标签: xamarin xamarin.forms cross-platform


【解决方案1】:

正如 cmets 中指出的那样。您在三星 Galaxy P7500 上运行的设备的分辨率为 800x1280 像素,密度约为 149 dpi。这意味着它将从最接近其密度的文件夹中获取可绘制对象,即mdpi 文件夹。

查看official Android documentation from Google about Supporting Multiple screens你会发现下表:

  • ldpi(低)~120dpi
  • mdpi(中)~160dpi
  • hdpi(高)~240dpi
  • xhdpi(超高)~320dpi
  • xxhdpi (extra-extra-high) ~480dpi
  • xxxhdpi (extra-extra-extra-high) ~640dpi

表 3 也很好地解释了您的情况。

在任何情况下,当在具有 10 英寸屏幕和 800x1280 像素分辨率的平板电脑上运行时,应用程序都不会尝试从任何 xhdpi、xxhdpi 文件夹中获取资源,而是从 mdpi 文件夹中获取资源,因为屏幕 dpi 与之匹配。您需要在那里提供您的资源来特别支持该平板电脑。

【讨论】:

  • 非常感谢您的时间和帮助。但我不知道该应用程序的用户将使用哪个分辨率的设备。如何决定图像大小来为所有设备创建响应式 UI。正如你所说,我需要将 10 英寸选项卡中看起来不错的图像放入 mdpi 文件夹.
  • mdpi 是基本 dpi,因此在您的平板电脑上看起来不错,将这些资源乘以 hdpi 1.5、xhdpi 2.0、xxhdpi 3.0、xxxhdpi 4.0 和 ldpi 0.5。这一切都在我链接的文档中进行了描述
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
相关资源
最近更新 更多