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