Разработка полноэкранного изображения для экранов Android разных размеров

Я хочу создать полноэкранное изображение, которое поддерживает несколько размеров экрана в Android.

Я знаю, что есть 5 разных размеров mdpi, hdpi, xdpi, xxdpi, xxxdpi. Я также знаю, что создание изображения с 9 патчами кажется идеальным решением. Проблема в том, что документация Android всегда говорит о dps и dpi для разных плотностей экрана (mdpi, hdpi, xdpi, xxdpi, xxxdpi), но как разработчику в конце дня мне нужно сделать изображение в пикселей.

Итак, чтобы избежать растяжения, сжатия или любого другого искажения, каким должен быть размер пикселей у 5 изображений, которые я должен сделать? Или нужно сделать изображения других размеров? Я уже потратил много времени на это, поэтому, если кто-то сталкивался с этой проблемой и решил ее, пожалуйста, напишите размеры экрана и почему были выбраны эти размеры.

ИЗМЕНИТЬ:

Есть ли какая-то конкретная ссылка, на которую я могу сослаться. Я хочу, чтобы размеры изображений в пикселях * пикселях были правильно обработаны в каждом случае. Я знаю, что они будут приблизительными, но мне нужен хороший пользовательский опыт с наименьшим количеством изображений, чтобы размер apk был небольшим.


person Ankit Aggarwal    schedule 19.08.2015    source источник
comment
mdpi, hdpi и т. д. являются спецификаторами плотности, а не размера. У вас может быть экран 1280x800 с разрешением 4 при xdpi или 7 при hdpi. В Android значительно больше пяти разрешений.   -  person 323go    schedule 19.08.2015
comment
В конечном итоге вам придется использовать FITXY как часть типа масштабирования ImageView: developer.android.com/reference/android/widget/   -  person jesses.co.tt    schedule 20.08.2015
comment
Но если вы хотите получить доступ к фактическим пикселям, вы можете использовать класс DisplayMetrics: developer.android.com/reference/android/util/   -  person jesses.co.tt    schedule 20.08.2015
comment
Если есть 5 разных плотностей, то для чего мне проектировать? Мои изображения будут в центре, и это будет 9 патчей для обработки растяжения. Но для xhdpi, например, я сделал 720*1280, он сжался. Когда я делал 720*960, было мало. Точно так же, каковы наилучшие размеры для всех групп размеров?   -  person Ankit Aggarwal    schedule 20.08.2015


Ответы (1)


Вы можете получить множество размеров экрана на различных устройствах. Если вы хотите, чтобы изображение не изменялось и соответствовало размеру экрана, вам нужно создать изображения для всех возможных экранов. Пять групп, которые вы упомянули, предназначены для плотностей, а не для размеров. Это делается для того, чтобы ваши значки и другие объекты имели примерно одинаковый физический размер на всех возможных устройствах. Вероятно, вы ищете квалификаторы размера.

person rastik    schedule 19.08.2015
comment
Если есть 5 разных плотностей, то для чего мне проектировать? Мои изображения будут в центре, и это будет 9 патчей для обработки растяжения. Но для xhdpi, например, я сделал 720*1280, он сжался. Когда я делал 720*960, было мало. Точно так же, каковы наилучшие размеры для всех групп размеров? - person Ankit Aggarwal; 20.08.2015
comment
Разрешение дисплея напрямую не связано с плотностью. Два дисплея с одинаковым разрешением могут иметь разные физические размеры, а значит и разную плотность. Независимо от того, что вы закончите с преобразованием изображений. Вы можете использовать квалификаторы размера, чтобы предоставить несколько изображений, и Android выберет Самый подходящий. - person rastik; 21.08.2015