【发布时间】:2011-04-01 16:18:46
【问题描述】:
在我的应用程序中,我有带有图标的按钮。这些图标在 drawable-ldpi-v4/、drawable/ 和 drawable-hdpi-v4/ 中以三种密度提供为 PNG 图像。这是一个示例:
每个图标都显示在一个 ImageButton 中:
<ImageButton style="@style/Shortcut" android:id="@+id/open_button"
android:src="@drawable/shortcut_open" android:layout_marginRight="4dp"/>
Shortcut 样式在哪里:
<style name="Shortcut">
<item name="android:layout_width">65dp</item>
<item name="android:layout_height">45dp</item>
<item name="android:scaleType">center</item>
<item name="android:background">@drawable/shortcut_background</item>
</style>
但是,在某些设备/平台版本上,某些图标会发生更改、模糊或其他情况。我不确定它是否在缩放,我认为它更像是一个渲染错误。我试图在 BitmapDrawable 上禁用抗锯齿,但这没有帮助。
如下图所示,在 Android 2.1 LDPI 上,一个图标被破坏/裁剪,而在 Android 1.6 MDPI 和 Android 2.1 HDPI 上,图标底部似乎随机添加了一条额外的线(仔细观察) .
在清单中,我有一个空的<supports-screens />,正如有关supporting multiple screens in legacy apps 的文档中所建议的那样。添加anyDensity="true" 没有帮助。
显然,从 Froyo 开始,情况会好转,如上图所示。但是如何在 Android
【问题讨论】:
-
不要设置在后台,而应该放在源中,避免缩放。
-
图标不在后台,在src中。