В каком разрешении должны быть мои заставки Android?
Я создаю заставку, которая будет отображаться во время загрузки моего Android-приложения. Я хотел бы создать его в правильном размере, чтобы Android не масштабировал его автоматически, чтобы уместить на экране. (Это растровое изображение, фотография масляной живописи, поэтому я не могу просто превратить ее в девятку.)
Но есть по крайней мере три важных размера экрана, которые меня волнуют: 320x480, 480x854 (Droid) и 480x800 (Nexus One).
Я прочитал документацию по поддержке экранов нескольких размеров, но до сих пор не понимаю, как я должен настраивать различные заставки для Droid/Nexus one (они оба являются ресурсами "hdpi", что касается Android) и я точно не знаю, насколько большим должен быть мой экран-заставка. (Какова высота строки заголовка / меню ОС в Droid? N1?)
Какого размера я должен сделать эти изображения, и как я могу сказать Android, чтобы использовать правильный размер на данном экране?
3 ответа
Вам не нужно беспокоиться об абсолютном размере экрана или статусных строках или о чем-либо еще - поэтому у нас есть изображения из девяти патчей.
То, что я сделал, было изображение, которое выглядело хорошо для каждого разрешения - по сути, логотип на прозрачном фоне, с небольшим текстом внизу.
Затем я обрезал довольно много места по верхним и боковым краям, сделал рамку из девяти пятен вокруг изображения, с одним пикселем около левого, правого и верхнего краев. Это позволяет изображению равномерно расширяться по бокам и сверху, чтобы заполнить экран.
Изменить, в ответ на комментарий Дэна ниже:
Да, есть способ определить, какая графика должна использоваться для каких размеров экрана, но это не рекомендуется.
Так же, как есть drawable-hdpi
а также -ldpi
квалификаторы ресурсов, также можно использовать drawable-HHHxWWW
- больший размер в пикселях идет первым.
например drawable-800x480
а также drawable-854x480
Хорошо, во-первых: вы можете найти модель устройства через android.os.Build и использовать ее, чтобы определить, какое изображение показывать.
Во-вторых, я лично не стал бы беспокоиться. Макеты должны быть выполнены в режиме dip, поскольку я полагаю, что каждый экран андроида имеет разрешение 320x480, и, по моему опыту, android поддерживает пропорции между устройствами очень хорошо. Насколько мне известно, всплеск 480x800, установленный для заполнения родительского элемента, был достаточно надежным как для N1, так и для дроида.
Другое решение, которое я реализовал, - это установить ImageView, который заполняет экран (шириной и высотой как "MATCH_PARENT") с типом масштаба "centerCrop". Таким образом, изображение не растягивается, а обрезается по краям. Старайтесь не размещать важный контент (логотипы и тому подобное) близко к краям. Если это фотография, я надеюсь, что края "расходные" и могут быть обрезаны.