Разработка под android для устройств разных разрешений и...

25
О себе Алексей Устенко Программист @ustav

Upload: alexey-ustenko

Post on 22-Jun-2015

8.399 views

Category:

Technology


1 download

DESCRIPTION

Разработка под Android для устройств разных разрешений и размеров Встреча Dnepr GTUG 14 января 2011г.

TRANSCRIPT

Page 1: Разработка под Android для устройств разных разрешений и размеров

О себе

Алексей Устенко

Программист@ustav

Page 2: Разработка под Android для устройств разных разрешений и размеров

Разработка под Android для устройств разных разрешений

и размеровЯ слежу за вами

14 января 2011 г.

Page 3: Разработка под Android для устройств разных разрешений и размеров

Телефоны

240x320ldpi3.2”

320x480mdpi3.2”

480x800hdpi3.7”

Page 4: Разработка под Android для устройств разных разрешений и размеров

Нестандартные

540x960(x)hdpi

4”

240x400ldpi3.2”

Page 5: Разработка под Android для устройств разных разрешений и размеров

Планшеты

1024x600mdpi

7”

1280x800mdpi10.1”

Page 6: Разработка под Android для устройств разных разрешений и размеров

GoogleTV

1920x108024”, 32”, 40”, 46”

Page 7: Разработка под Android для устройств разных разрешений и размеров

Экраны

TweetDeck, 12 октябряGoogle, 2 августа

ldpi mdpi hdpi

Small 2.3%

Normal 0.4% 45.9% 51.2%

Large

Page 8: Разработка под Android для устройств разных разрешений и размеров

Сначала был G1

320x480mdpi3.2”

22 октября 2008

Page 9: Разработка под Android для устройств разных разрешений и размеров

Пончик

Page 10: Разработка под Android для устройств разных разрешений и размеров

<supports-screens>

xlargeScreens – начиная с Android 2.3

Page 11: Разработка под Android для устройств разных разрешений и размеров

Режим совместимости

Приложение скомпилировано для Android 1.5

Page 12: Разработка под Android для устройств разных разрешений и размеров

Плотность

ldpi – Low DPI. Низкая плотность

mdpi – Medium DPI. Средняя плотность

hdpi – High DPI. Высокая плотность

xhdpi – Extra High DPI. Очень высокая плотность(начиная с Android 2.2)

Page 13: Разработка под Android для устройств разных разрешений и размеров

Размер

small – Маленький

normal – Нормальный

large – Большой

xlarge – Очень большой(начиная с Android 2.3)

Page 14: Разработка под Android для устройств разных разрешений и размеров

Как Android определяет

Page 15: Разработка под Android для устройств разных разрешений и размеров

Что со всем этим делать?

Несколько рекомендаций, которые облегчат жизнь

Page 16: Разработка под Android для устройств разных разрешений и размеров

Правила, а не позиции

AbsoluteLayout

RelativeLayout

fill_parentwrap_content

Page 17: Разработка под Android для устройств разных разрешений и размеров

layout_weight

Page 18: Разработка под Android для устройств разных разрешений и размеров

Избегать физических точек

sp – для текста

px = dp*(density/160)

getResources().getDisplayMetrics().density

px – плохо! dp, sp – хорошо!

dp – для всего остального

Если очень надо

Page 19: Разработка под Android для устройств разных разрешений и размеров

Разные ресурсы для разных устройств

Page 20: Разработка под Android для устройств разных разрешений и размеров

Наборы ресурсовНазвание Значения Примечания

Размер экрана

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 для устройств разных разрешений и размеров

Ресурсы по умолчанию

Размер экрана: normal Плотность: mdpi

Page 22: Разработка под Android для устройств разных разрешений и размеров

Используйте масштабируемые изображения

9-patchhttp://developer.android.com/guide/developing/tools/draw9patch.html

http://developer.android.com/guide/topics/graphics/2d-graphics.html

Page 23: Разработка под Android для устройств разных разрешений и размеров

Изображения, определенные с помощью XML

Page 24: Разработка под Android для устройств разных разрешений и размеров

Тестируйте на разных экранах

Можно даже запустить эмулятор установив реальные физические размеры экрана

Page 25: Разработка под Android для устройств разных разрешений и размеров

Конец

Supporting multiple screens: http://developer.android.com/guide/practices/screens_support.html