0

Я немного смущен подходом Androids для поддержки нескольких экранов. Я прочитал официальную документацию, поддерживающую несколько экранов пару раз, но я не совсем понимаю концепцию.Как найти максимально возможное разрешение изображения для поддержки многострочных экранов

В моем приложении для викторины каждый вопрос должен иметь изображение. Всего будет 255 изображений. Приложение поддерживает только ландшафты и смартфоны всех размеров экрана (без таблеток).

enter image description here

Теперь мой дизайнер хочет знать максимально возможное разрешение изображения, чтобы купить изображения на этой неделе. Я хочу реализовать все изображения в высоком разрешении, потому что Android будет автоматически масштабировать чертежи, если устройство не соответствует графическому DPI. В противном случае он должен купить несколько изображений.

Так что моя проблема в том, что я не знаю, как найти наивысшее разрешение для вопроса Image.

Как я могу продолжить?

+1

1px = 1DP @ 160dpi (MDPI), все другие просто масштабируется этого, ИПЧР = 1,5, xhdpi = 2, xxhdpi = 3 & xxxhdpi = 4 раза. Размеры экрана варьируются от производителя - вам действительно нужно иметь дело с «размерами ковша» - всегда думайте о терминах dp (mdpi - базовая), а не о dpi. –

ответ

2

Шаг 1: Определите, насколько большой будет ваш образ, в плотности независимые пикселей (dp), на основе размеров экрана вы хотите поддержать (small, normal, large, xlarge) и ваш дизайн GUI. Это будет частично основано на the sizes in dp associated with those screen size categories:

  • xlarge экраны, по меньшей мере 960dp х 720dp
  • large экраны, по крайней мере 640dp х 480dp
  • normal экраны, по крайней мере 470dp х 320dp
  • small экраны не менее 426dp x 320dp

Шаг №2: Определите, какая максимальная плотность, для которой вы хотите выделить rtwork (по сравнению с тем, что Android имеет более низкую плотность).

Шаг № 3: Учитывая размер вашего изображения в dp и необходимую максимальную плотность, определите максимальное разрешение в пикселях.

Например:

  • на этапе # 1, вы решили, что вы будете работать только с small и normal экранов, а также учитывая ваш дизайн GUI, ваш образ будет 120dp х 90dp

  • в шаге № 2 вы решите, что максимальная плотность, о которой вы будете беспокоиться, равна xhdpi (320dpi = в два раза dp базис 160dpi)

  • resul т для Шаг # 3 является 240px х 180px

+0

Спасибо. Поэтому я решил поддерживать небольшие, нормальные и большие размеры экрана, а максимальная плотность будет xxxhdpi. Но как вы получаете 120dp x 90dp в шаге 1?В вашем примере вы выбираете xhdpi с 320dpi. Почему результат шага 3 в два раза больше шага 1. –

+1

@ DenoAgüero: «Но как вы получаете 120dp x 90dp в шаге 1?» - вы знаете, что такое ваш пользовательский интерфейс. Я этого не делаю, и никто другой. Предположительно, у вас есть «ImageView», и, по-видимому, у вас есть правила для его размера. «Почему результат шага 3 в два раза больше шага 1», потому что 320 в два раза больше, чем 160. 'dp', как и CSS-пиксели, работают на 160 dpi. – CommonsWare

+0

My ImageView имеет ширину 150 дп, а для высоты я использую wrap_content. Должен ли я определять высоту в dp? Если я говорю, что высота составляет 90 дп, а моя максимальная плотность составляет 640 (xxxhdpi), поэтому максимальное разрешение будет 360x600. Это верно? –