Я думал, что цель различных выпадающих папок (например, drawable-xhdpi
, drawable-hdpi
) заключается в том, чтобы избежать ненужных перераспределений для экономии ресурсов.ImageView ScaleType vs drawable folders
Однако, если я хочу поместить изображение в ImageView
, я должен выбрать подходящий ScaleType
, чтобы показать изображение правильно.
Согласно документации:
центр
Отображает изображение в центре вида, без масштабирования.
centerCrop
Масштабирование изображения таким образом, что оба х и у размеры больше, чем или равна точки зрения, сохраняя при этом соотношение сторон изображения; посещает любую часть изображения, которая превышает размер представления; центры изображение в представлении.
centerInside
Масштабирование изображения, чтобы поместиться внутри зрения, сохраняя при этом соотношение сторон изображения . Если изображение уже меньше, чем вид, то это совпадает с центром.
fitCenter
Масштабирование изображения, чтобы поместиться внутри зрения, сохраняя при этом соотношение сторон изображения . По крайней мере одна ось будет точно соответствовать представлению, а результат центрирован внутри представления.
fitStart
То же, что fitCenter, но выравнивается по верхней левой части зрения.
fitEnd
То же, что fitCenter, но выравнивается по нижней правой части зрения.
fitXY
Весы х и у размеры, чтобы точно соответствовать размеру вида; не поддерживает .
Как вы можете видеть, все типы весов кроме center
изменения масштаба изображения.
Мой первый вопрос:
Почему я должен предоставить так много различных решений, если посмотреть изображение перемасштабирует изображение в любом случае?
Мой второй вопрос:
Я мог бы использовать папку drawable-nodpi
для любого изображения, а затем использовать тип шкалы, как fitCenter
, так что изображения всегда будут иметь правильный размер.Почему я должен использовать любую папку, кроме drawable-nodpi
?
Если вы не указали какой-либо масштабный режим, изображение будет обрезано **. Попробуйте поместить изображения в «drawable-nodpi» и посмотреть, что происходит при разных плотностях экрана. –
Что именно означает «обрезанный»? Совместим ли он с режимом масштаба «centerCrop»? – Mike76
Масштабирование происходит из-за разных размеров экрана. Несколько разворачиваемых папок существуют для разных разрешений экрана. – scubasteve623