Разработка под android для устройств разных разрешений и...
DESCRIPTION
Разработка под Android для устройств разных разрешений и размеров Встреча Dnepr GTUG 14 января 2011г.TRANSCRIPT
![Page 1: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/1.jpg)
О себе
Алексей Устенко
Программист@ustav
![Page 2: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/2.jpg)
Разработка под Android для устройств разных разрешений
и размеровЯ слежу за вами
14 января 2011 г.
![Page 3: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/3.jpg)
Телефоны
240x320ldpi3.2”
320x480mdpi3.2”
480x800hdpi3.7”
![Page 4: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/4.jpg)
Нестандартные
540x960(x)hdpi
4”
240x400ldpi3.2”
![Page 5: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/5.jpg)
Планшеты
1024x600mdpi
7”
1280x800mdpi10.1”
![Page 6: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/6.jpg)
GoogleTV
1920x108024”, 32”, 40”, 46”
![Page 7: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/7.jpg)
Экраны
TweetDeck, 12 октябряGoogle, 2 августа
ldpi mdpi hdpi
Small 2.3%
Normal 0.4% 45.9% 51.2%
Large
![Page 8: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/8.jpg)
Сначала был G1
320x480mdpi3.2”
22 октября 2008
![Page 9: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/9.jpg)
Пончик
![Page 10: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/10.jpg)
<supports-screens>
xlargeScreens – начиная с Android 2.3
![Page 11: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/11.jpg)
Режим совместимости
Приложение скомпилировано для Android 1.5
![Page 12: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/12.jpg)
Плотность
ldpi – Low DPI. Низкая плотность
mdpi – Medium DPI. Средняя плотность
hdpi – High DPI. Высокая плотность
xhdpi – Extra High DPI. Очень высокая плотность(начиная с Android 2.2)
![Page 13: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/13.jpg)
Размер
small – Маленький
normal – Нормальный
large – Большой
xlarge – Очень большой(начиная с Android 2.3)
![Page 14: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/14.jpg)
Как Android определяет
![Page 15: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/15.jpg)
Что со всем этим делать?
Несколько рекомендаций, которые облегчат жизнь
![Page 16: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/16.jpg)
Правила, а не позиции
AbsoluteLayout
RelativeLayout
fill_parentwrap_content
![Page 17: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/17.jpg)
layout_weight
![Page 18: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/18.jpg)
Избегать физических точек
sp – для текста
px = dp*(density/160)
getResources().getDisplayMetrics().density
px – плохо! dp, sp – хорошо!
dp – для всего остального
Если очень надо
![Page 19: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/19.jpg)
Разные ресурсы для разных устройств
![Page 20: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/20.jpg)
Наборы ресурсовНазвание Значения Примечания
Размер экрана
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
![Page 21: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/21.jpg)
Ресурсы по умолчанию
Размер экрана: normal Плотность: mdpi
![Page 22: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/22.jpg)
Используйте масштабируемые изображения
9-patchhttp://developer.android.com/guide/developing/tools/draw9patch.html
http://developer.android.com/guide/topics/graphics/2d-graphics.html
![Page 23: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/23.jpg)
Изображения, определенные с помощью XML
![Page 24: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/24.jpg)
Тестируйте на разных экранах
Можно даже запустить эмулятор установив реальные физические размеры экрана
![Page 25: Разработка под Android для устройств разных разрешений и размеров](https://reader036.vdocuments.site/reader036/viewer/2022070320/55878a37d8b42a51318b46b8/html5/thumbnails/25.jpg)
Конец
Supporting multiple screens: http://developer.android.com/guide/practices/screens_support.html