В каком разрешении должны быть мои заставки Android? - PullRequest
30 голосов
/ 01 апреля 2010

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

Но есть как минимум три важных размера экрана, которые меня интересуют: 320x480, 480x854 (Droid) и 480x800 (Nexus One).

Я прочитал документацию по с поддержкой нескольких размеров экрана , но я до сих пор не понимаю, как я должен настроить различные заставки для Droid / Nexus one (они оба "hdpi «ресурсы, что касается Android), и я не знаю точно, насколько большим должен быть мой заставка в любом случае. (Какова высота строки заголовка / меню ОС в Droid? N1?)

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

Ответы [ 3 ]

32 голосов
/ 01 апреля 2010

Вам не нужно беспокоиться об абсолютном размере экрана, статусных строках или чем-то еще & mdash; вот почему у нас есть девять патчей изображений.

Я получил изображение, которое выглядело хорошо для каждого разрешения & mdash; по сути, логотип на прозрачном фоне с небольшим текстом внизу.

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


Редактировать , в ответ на комментарий Дэна:

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

Так же, как есть квалификаторы ресурсов drawable-hdpi и -ldpi, также можно использовать drawable-HHHxWWW & mdash; больший размер в пикселях идет первым.

например. drawable-800x480 и drawable-854x480

6 голосов
/ 01 апреля 2010

Хорошо, во-первых: вы можете найти модель устройства через android.os.Build и использовать ее, чтобы определить, какое изображение показывать.

Во-вторых, я лично не стал бы беспокоиться. Макеты должны быть выполнены в режиме dip, поскольку я полагаю, что каждый экран андроида имеет разрешение 320x480, и, по моему опыту, android поддерживает пропорции между устройствами очень хорошо. Насколько мне известно, всплеск 480x800, установленный для заполнения родительского элемента, был достаточно надежным как для N1, так и для дроида.

1 голос
/ 21 января 2013

Другое решение, которое я реализовал, - поместить ImageView, который заполняет экран (шириной и высотой как «MATCH_PARENT») с типом шкалы «centerCrop». Таким образом, изображение не растягивается, а обрезается по краям. Старайтесь не размещать важный контент (логотипы и тому подобное) близко к краям. Если это фотография, я надеюсь, что края "расходные" и могут быть обрезаны.

...