#android #android-drawable
#Android #android-drawable
Вопрос:
Если у меня есть только изображение для xhdpi
, и я не хочу создавать масштабированные изображения, я хочу, чтобы Android автоматически уменьшал масштаб, когда плотность экрана ниже, xhdpi
и увеличивал, когда плотность экрана выше xhdpi
. Как я могу этого добиться?
Я попытался создать drawable-xhdpi
папку и поместить в нее изображение. Однако в редакторе макетов изображение не отображается, после того, как я изменил имя папки на drawable-xxhdpi
, изображение появляется, но слишком маленькое.
Я предполагаю, что устройство предварительного просмотра таково xxhdpi
, что оно не может использовать изображения xhdpi
, интересно, происходит ли то же самое на реальных устройствах?
Если да, то как я могу использовать только одно изображение с разрешением dpi и позволить системе автоматически масштабироваться до другого dpi?
Редактировать: я забыл упомянуть, что он используется как элемент растрового изображения в списке слоев, используемом на экране запуска windowBackground
, поскольку приложение еще не запущено, оно не может запускать там Java-код.
Ответ №1:
Вы можете поместить свой drawable в res/drawable/
папку (без какого-либо определения плотности), а затем использовать тот ImageView.ScaleType
, который соответствует вашим потребностям.
Комментарии:
1. Спасибо за ответ, я забыл упомянуть, он используется как элемент bitmap в windowBackground на экране запуска, поэтому я не могу запустить там Java-код
Ответ №2:
Если вам нужно использовать одно изображение, которое хорошо масштабируется для разных плотностей и размеров экрана, тогда SVG (масштабируемая векторная графика) — это правильный путь.Это довольно хорошо масштабируется, и вы не увидите пикселизации.
Вот все, что вам нужно знать о векторных чертежах
https://developer.android.com/studio/write/vector-asset-studio#when