【问题标题】:Android ImageView: How to prevent scaling with ScaleType.CENTER?Android ImageView:如何防止使用 ScaleType.CENTER 进行缩放?
【发布时间】:2011-09-29 18:23:52
【问题描述】:

根据docs,使用 CENTER 属性不会对图像执行任何缩放。然而,当通过如下所示的 XML 加载 PNG 时,它看起来比应有的大得多。

发生了什么事?

我认为图像在加载时会被缩放,但为什么呢?是否缺少一些清单标记,或者我应该使用不同的文件夹?

<ImageView
    android:src="@drawable/auth_logo"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:scaleType="center"></ImageView>

任何帮助将不胜感激。

【问题讨论】:

  • 找到了解决方案。该图像显然需要位于drawable-hdpi 文件夹中。不知道为什么密度无关的图像应该放在带有密度标签的文件夹中,但是哦。

标签: android imageview scaling


【解决方案1】:

图像缩放是由图像的 DPI 和屏幕 DPI 之间的差异引起的。 Android 管理缩放以便 DPI 匹配。

图像的 DPI 由存储图像的 res 源文件夹(drawable / drawable-hdpi / 等)和实际屏幕密度确定,该密度是物理给定的,并且对于给定的设备是固定的。

为避免缩放,请将图像放入 res/drawable-nodpi 文件夹。

【讨论】:

  • 谢谢。我什至检查了 PNG 标头中没有密度属性!
猜你喜欢
  • 2012-03-06
  • 2019-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多