Поддержка разрешения в Android 2.0
-
19-09-2019 - |
Вопрос
Получил электронное письмо от моего первого пользователя Motorola Droid.Новое разрешение 480x854, представленное в Android 2.0 (в отличие от 320x480), вносит хаос в мои пользовательские интерфейсы.Все здесь поменьше и плохо расположено.
У меня сложилось впечатление, что если мы будем следовать руководствам по компоновке XML, то обеспечим безопасность разрешения, поскольку абсолютные координаты не используются.Есть ли у кого-нибудь опыт в обеспечении безопасности разрешения пользовательского интерфейса?Понадобится ли нам main.xml для каждого разрешения, умноженного на каждую ориентацию?
Решение
Какие единицы измерения вы использовали?
AFAIK , использующий dp
и sp
это должно обезопасить тебя.
Из документации:
дп Пиксели, не зависящие от плотности - абстрактная единица измерения, основанная на физической плотности экрана.Эти единицы измерения относятся к экрану с разрешением 160 точек на дюйм , поэтому один dp равен одному пикселю на экране с разрешением 160 точек на дюйм.Соотношение точек на дюйм к пикселям будет меняться в зависимости от плотности экрана, но не обязательно в прямой пропорции.Примечание:Компилятор принимает как "dip", так и "dp", хотя "dp" больше соответствует "sp".
сп Пиксели, не зависящие от масштаба - это похоже на единицу измерения dp, но также масштабируется в зависимости от размера шрифта пользователя предпочтений.Рекомендуется использовать это устройство при указании размеров шрифта, чтобы они были скорректированы как с учетом плотности экрана, так и предпочтений пользователя.
Другие советы
Эмулятор эклера творит чудеса с этими проблемами, также обязательно прочитайте:
http://developer.android.com/guide/practices/screens_support.html
Ваше приложение реагирует на разные разрешения в зависимости от многих факторов, даже от min-sdk.Кроме того, на этой странице приведены некоторые рекомендации:
- В XML-файлах макетов предпочитать px, fill_parent и единицу погружения.
- Избегайте AbsoluteLayout
- Не используйте жестко запрограммированные значения пикселей в своем коде.
- Используйте ресурсы, специфичные для плотности и/или разрешения.
Помимо разницы в разрешении, следует учитывать еще одну вещь: соотношение сторон WVGA-экрана Droid отличается от соотношения сторон предыдущих устройств, таких как G1.Во многих старых приложениях, которые я загружал, это проявляется в виде пробела в нижней части экрана или элементов, смещенных по вертикали в портретном режиме.Вы можете попробовать запустить свое приложение в эмуляторе со скином WVGA, чтобы проверить наличие каких-либо скрытых предположений, которые ваш макет делает в отношении соотношения сторон.