【发布时间】:2014-08-28 17:16:27
【问题描述】:
我的图标(在操作栏和 ImageView 中)怎么会比磁盘上的实际图标大?即使是操作栏中选项卡上的 48*48 图标也会放大到看起来像素化的更大图标。
【问题讨论】:
-
您对这些资产使用什么可绘制密度文件夹(例如 drawable-mdpi),您使用的设备的密度桶是多少?
我的图标(在操作栏和 ImageView 中)怎么会比磁盘上的实际图标大?即使是操作栏中选项卡上的 48*48 图标也会放大到看起来像素化的更大图标。
【问题讨论】:
在我看来,您将图标放置在可绘制文件夹中。当您尝试以更高的密度运行它时,系统将扩大您的资产。请确保您将资源放置在正确的可绘制文件夹中
【讨论】:
supporting multiple screens 上的相关 Android 文档不仅解释了正在发生的事情,还解释了如何避免它:
为不同的屏幕密度提供不同的位图可绘制对象 默认情况下,Android 会缩放您的位图可绘制对象(.png、.jpg 和 .gif 文件)和九补丁可绘制对象(.9.png 文件),以便它们在每个设备上以适当的物理尺寸呈现。例如,如果您的应用程序仅为基线、中等屏幕密度 (mdpi) 提供位图可绘制对象,则系统在高密度屏幕上时会放大它们,而在低密度屏幕上时会缩小它们。这种缩放会导致位图中出现伪影。为确保您的位图看起来最好,您应该包括针对不同屏幕密度的不同分辨率的替代版本。 可用于密度特定资源的配置限定符是 ldpi(低)、mdpi(中)、hdpi(高)和 xhdpi(超高)。例如,高密度屏幕的位图应该放在 drawable-hdpi/ 中。
【讨论】: