Разрешение для дизайна приложения для Android

Я начинаю разрабатывать небольшое приложение для Android. Но это мой первый дизайн приложения для Android. А у меня вопрос по устройствам и дисплеям. Я прочитал все рекомендации для разработчиков на http://developer.android.com/, все о DPI и пикселях. И еще не ясно с вопросом. Я хочу работать в Photoshop CS6, потому что это лучший способ для меня.

В рекомендациях я прочитал «Один из подходов — работать с базовым стандартом (обычный размер и MDPI) и увеличивать или уменьшать его для других сегментов. Другой подход — начать с устройства с самым большим размером экрана. , а затем уменьшите масштаб и определите компромиссы пользовательского интерфейса, которые вам нужно будет сделать на небольших экранах».

Я хочу начать с самого большого размера экрана, так что это XHDPI 320DPI. В качестве примера хочу выбрать Nexus 4. Какое разрешение (в пикселях и DPI) нужно выбрать для PSD?

Я думаю, мне нужно создать PSD с разрешением 1280x768px и 320dpi. Это правильно? Если да, то когда мне нужно уменьшить масштаб до 160 точек на дюйм, мне нужно создать новый PSD с разрешением 160 точек на дюйм и изменить размер элементов с 320 точек на дюйм?

Пожалуйста, помогите мне, кто-нибудь, я запутался.


person Natio Li    schedule 22.12.2012    source источник


Ответы (2)


Плотность и размер экрана не одно и то же.

XHDPI - это плотность. 1280x768 - это разрешение экрана, а НЕ размер экрана. Nexus 4 имеет 4-дюймовый экран, который считается «нормальным» размером. Если бы у вас было устройство с 8-дюймовым экраном и разрешением 1280x768, это было бы 160 точек на дюйм и было бы MDPI. Однако вы по-прежнему можете использовать ресурс 1280x768, созданный для Nexus 4, и системе не придется масштабировать изображение.

Вот как все это соотносится: на экране Nexus 4 «нормального» размера вы можете отображать все виды элементов пользовательского интерфейса, помня о том, что они должны быть достаточно большими, чтобы их можно было читать, нажимать и т. д. Если вы запустили одно и то же приложение на 7-дюймовый экран, который считается «большим», вы можете добавить дополнительные элементы пользовательского интерфейса, поскольку у вас гораздо больше недвижимости. Пока все в порядке?

Теперь, допустим, 4-дюймовый экран и 7-дюймовый экран имеют одинаковое разрешение (1280x768), у них будет разная плотность. 4-дюймовый — это XHDPI, а 7-дюймовый — HDPI (мой Nexus 7 сообщает о 213 dpi).

Если бы у вас было изображение 80x80, оно было бы квадратным 1/4 дюйма на Nexus 4 и 1/3 дюйма на Nexus 7. Весь пользовательский интерфейс выглядел бы больше и несколько Фишер-Прайси. К счастью, Android масштабирует пользовательский интерфейс за вас, если вы используете «dp» для объявления размера элементов пользовательского интерфейса. Вы можете предоставить активы с разной плотностью, поэтому Android не придется слишком сильно масштабировать растровые изображения, хотя это все равно будет.

Итак, если вы разрабатываете приложение для телефона, сначала ориентируйтесь на обычный экран (и XHDPI, если это ваше устройство разработки) и предоставьте все активы в XHDPI. Затем создайте альтернативные макеты для больших экранов, если вы хотите сделать пользовательский интерфейс более удобным для планшетов. Наконец, масштабируйте изображения для других поддерживаемых разрешений.

Вы можете использовать PSD, но лично я предпочитаю векторную графику, так как она прекрасно масштабируется.

Я не пользователь PhotoShop, но, поскольку он основан на растре, я бы начал с более высокого разрешения, чем вы ожидаете, и уменьшил масштаб. По крайней мере, я бы проектировал для Nexus 10 с разрешением 1600x2560, а затем уменьшал масштаб оттуда. В своем процессе я использую CorelDraw (долгая история), создаю значки в коробках размером 1 x 1 дюйм, а затем экспортирую их в различных разрешениях.

person 323go    schedule 22.12.2012
comment
Спасибо!) Я знаю, что мне нужно будет разработать дополнительные элементы для разных DPI. Вопрос в том, с какого разрешения/плотности лучше начинать при работе с приложением в фотошопе? Приложение имеет сложные элементы пользовательского интерфейса. В рекомендациях говорится, что другой подход заключается в том, чтобы начать с устройства с самым большим размером экрана, а затем уменьшить масштаб и выяснить компромиссы пользовательского интерфейса, которые вам нужно будет сделать на меньших экранах. мне нравится этот путь. Но я не знаю, какой PSD мне нужно создать. - person Natio Li; 23.12.2012
comment
Для работы с XHDPI в Photoshop мне нужно создать PSD с разрешением 320DPI? А если я хочу работать с MDPI мне нужен PSD с 160DPI? - person Natio Li; 23.12.2012
comment
DPI, установленный в Photoshop, не имеет значения. Плотность пикселей подразумевается, когда вы размещаете ресурсы (PNG) в различных папках с возможностью рисования. т.е. ваш PNG с разрешением 320 dpi переходит в drawable-xhdpi. - person 323go; 23.12.2012
comment
ОК!) Теперь я нашел ответ!) - person Natio Li; 24.12.2012
comment
Nexus 4: xhdpi = 320 пикселей на дюйм, поэтому 80 пикселей/320 пикселей на дюйм = 1/4 дюйма. Nexus 7: hdpi = 240 пикселей на дюйм, поэтому 80 пикселей/240 пикселей на дюйм = 1/3 дюйма (исправлено). ) - person 323go; 30.10.2013

немного больше подробностей о том, что вы пытаетесь сделать, было бы полезно. Вы пытаетесь разработать свои значки, или весь пользовательский интерфейс, или что?

В Android пользовательский интерфейс разработан в основном с помощью xml, и стили по умолчанию должны использоваться, когда это возможно, чтобы соответствовать остальной части ОС и выглядеть красиво. Для многих приложений не требуется никакой реальной графической работы, за исключением, возможно, значков запуска, для которых есть руководства на сайте разработчика.

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

person lkrasner    schedule 22.12.2012
comment
Мне нужно разработать весь пользовательский интерфейс с пользовательскими элементами дизайна. И мне нужно выбрать правильное разрешение для начала работы. Также мне крайне необходимо видеть общий вид пользовательского интерфейса при разработке. - person Natio Li; 22.12.2012
comment
Ну, вы не можете просто нарисовать пользовательский интерфейс, на самом деле это так не работает. вы создаете свои активы и определяете, как они взаимодействуют. плагин eclipse adt включает в себя инструмент для графического дизайна пользовательского интерфейса, поэтому, когда у вас есть изображения и прочее, не так уж много работы с xml, но вы не можете просто увидеть все - person lkrasner; 22.12.2012