О себе Алексей Устенко
Разработка под Android для устройств разных разрешений и размеров Я слежу за вами 14 января 2011 г.
Телефоны 240x320 ldpi x480 mdpi x800 hdpi 3.7
Нестандартные 540x960 (x)hdpi 4 240x400 ldpi 3.2
Планшеты 1024x600 mdpi x800 mdpi 10.1
GoogleTV 1920x , 32, 40, 46
Экраны TweetDeck, 12 октября Google, 2 августа ldpimdpihdpi Small2.3% Normal0.4%45.9%51.2% Large
Сначала был G1 320x480 mdpi октября 2008
Пончик
xlargeScreens – начиная с Android 2.3
Режим совместимости Приложение скомпилировано для Android 1.5
Плотность ldpi – Low DPI. Низкая плотность mdpi – Medium DPI. Средняя плотность hdpi – High DPI. Высокая плотность xhdpi – Extra High DPI. Очень высокая плотность (начиная с Android 2.2)
Размер small – Маленький normal – Нормальный large – Большой xlarge – Очень большой (начиная с Android 2.3)
Как Android определяет
Что со всем этим делать? Несколько рекомендаций, которые облегчат жизнь
Правила, а не позиции AbsoluteLayout RelativeLayout fill_parent wrap_content
layout_weight
Избегать физических точек sp – для текста px = dp*(density/160) getResources().getDisplayMetrics().density px – плохо! dp, sp – хорошо! dp – для всего остального Если очень надо
Разные ресурсы для разных устройств
Наборы ресурсов Название ЗначенияПримечания Размер экрана small normal large xlarge начиная с Android 2.3 Соотношение сторон long notlong Ориентация port land Плотность ldpi mdpi hdpi xhdpi начиная с Android 2.2 nodpi независимо от плотности Версия ОС v3 Внимание: Android 1.5 и 1.6 v4 v7
Ресурсы по умолчанию Размер экрана: normal Плотность: mdpi
Используйте масштабируемые изображения 9-patch
Изображения, определенные с помощью XML
Тестируйте на разных экранах Можно даже запустить эмулятор установив реальные физические размеры экрана
Конец Supporting multiple screens: