Существует так много материалов по плотности, multiple screen support, так много questions on SO, но у меня все еще нет.Масштабирование ресурсов изображения в Android и Picasso
Моя цель проста: отобразить растровое изображение размером с доступное пространство для ImageView
. Мне нужно BitMap
, поскольку я буду выполнять некоторые операции над ним.
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/figureView" />
У меня будет несколько изображений, которые будут использоваться в растровом изображении. Я разместил их в каталоге drawables
. Я буду ссылаться на них с R.drawable.pictureX
. Я буду использовать Пикассо, чтобы загрузить их и масштабировать их:
Bitmap bitmap = Picasso.with(getContext()).load(resourceId).resize(w, h).get();
Неясная часть для меня все эти xxhdpi папки и Android эвристики, чтобы выбрать лучший.
Когда в документации говорится, что Android будет автоматически масштабировать изображение, это применимо к моему делу? Я не хочу масштабировать масштабные фотографии.
Сколько вариантов dpi можно сохранить в моем случае и где? Должен ли я иметь один файл в папке с не-dpi или я должен создать вариант изображения для каждой папки с тэпом?
Как определить размер для ресурса изображения? Это легко для значков: например, 24x24 dpi, а затем несколько с формулой DPI. Но я хочу покрыть полную высоту экрана. Глава Примеры конфигурации списки: 240x320 ldpi, 320x480 mdpi, 480x800 hdpi, 720x1280 mdpi, 800x1280 mdpi и т. Д. Для ресурсов нет спецификаторов размера экрана.
Спасибо за разъяснения.
Спасибо за ваш ответ. Действительно ли Android действительно масштабирует картинку? Я думаю, что Пикассо мог использовать BitmapFactory.Options.inScaled, чтобы избежать этого. Я надеюсь, что он может выбрать лучший ресурс соответствия. Я буду создавать несколько разных вариантов, чтобы проверить это. –
Если вы не хотите, чтобы ваше изображение масштабировалось, вы можете поместить его в папку 'drawable-nodpi'. Но удостоверьтесь, что у вас нет такого изображения у других выносных кормушек, потому что если вы сделаете, то изображение будет взято из другого ресурса. – dzikovskyy