Различные 9-патч-изображения для разных плотностей?

У меня есть те же 9-патч-изображения в MDPI / HDPI / xhdpi. Есть ли особая причина, почему она не будет сохранена для наименьшего размера? Растяжимые области автоматически масштабируются, когда содержимое больше, например, фон как 9-патч.

Пример фона:

MDPI: MDPI

ИПЧР: ИПЧР

xhdpi: xhdpi

Solutions Collecting From Web of "Различные 9-патч-изображения для разных плотностей?"

Многие девять патчей настолько малы, что их обычно не нужно воссоздавать для разных размеров экрана.

В вашем примере углы фона не масштабируются. Если вы используете одни и те же углы при любом разрешении, они будут иметь разный размер при разных разрешениях. На меньших телефонах углы появятся больше на больших телефонах, углы станут меньше.

Другим примером может служить строка. Если у вас есть линия, которая имеет специальный эффект, и вы создаете ее как девятый патч для экранов mdpi, а линия имеет высоту в два пикселя. Просто повторное использование этого чертежа без масштабирования на экране xhdpi сделает вашу линию на два пикселя выше на этом экране. Но поскольку экран имеет меньшие пиксели (более высокое разрешение, одинаковый размер дисплея), линия будет выглядеть более тонкой.

Поэтому вам всегда нужно создать 9-патч для каждого разрешения, или, как сказал @Shubhayu, только производят девять патчей высокого разрешения и соглашаются с тем, что они размываются, если система масштабирует их для других разрешений.

Вам не нужно вставлять изображения размером 9 патчей различного размера во все 3 папки. Просто поставьте тот, который имеет самое высокое разрешение в вашей папке. Android подберет его для всех ваших разных плотностей.

Также четкость вашего изображения зависит от разрешения изображения. Вы увидите размытое растяжение для устройств с высокой плотностью, если вы сохраните наименьший размер (т. Е. С наименьшим разрешением). Это не будет видно, если фоновое изображение является простым цветом. Вы заметите разницу, когда фон имеет некоторые рисунки / повторяемость градиентов.

Edit: С тех пор, как я написал этот пост, я обнаружил намного больше информации о 9-патче. 9-патч-изображения не уменьшаются. Лучше всего было бы поместить изображение самого маленького размера. И исходя из того, как он ищет другие плотности, вы должны сделать 9-патч-изображения для затронутых плотностей. Вот более подробная информация об этом,

http://www.shubhayu.com/android/9-patch-image-designers-vs-developers