Плотность и размер экрана не одно и то же.
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