в моем приложении у меня есть кнопки с иконками. Значки предоставляются в виде изображений PNG в трех плотностях в drawable-ldpi-v4 /, drawable / и drawable-hdpi-v4 /. Вот образец:
Каждый значок отображается в 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 />
, как рекомендовано в документах о , поддерживающем несколько экранов в старых приложениях . Добавление anyDensity="true"
не помогает.
Очевидно, что с Froyo дела идут лучше, как вы можете видеть на изображении выше. Но как я могу решить эту проблему на Android <= 2.1? </p>