Эффективное проектированиеграфических интерфейсов для  устройств на базе Android               Дмитрий Воробьев, CMG Russia
О чем пойдет речь?               Web                                    Mobile                Техническое задание (техниче...
Основная проблема разработчика                                 03/10
Что рекомендует Google?• fill_parent, wrap_content, dp вместо px в layout XML• Не использовать AbsoluteLayout• Не использо...
Цель – измерить все в dip                    ldpi (120)               mdpi (160)              hdpi (240)               px ...
«Табличная верстка»При использовании LinearLayout :• android:layout_weight – перераспределение свободного места• android:l...
DIYActivity.onCreate – создаем все из кодаНо есть еще один способ:1. MyLayoutInflater extends LayoutInflater2. Activity.ge...
Инструментарий1. Редактор в Eclipse (как ни странно) – удобно для разработчика2. Droiddraw (http://droiddraw.org) – есть и...
Ваш вопрос             ?             d.vorobiev@litecoding.com             http://litecoding.com             сейчас, через...
Upcoming SlideShare
Loading in …5
×

Эффективное проектирование графических интерфейсов для устройств на базе ОС Android

2,838 views
2,781 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,838
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Эффективное проектирование графических интерфейсов для устройств на базе ОС Android

  1. 1. Эффективное проектированиеграфических интерфейсов для устройств на базе Android Дмитрий Воробьев, CMG Russia
  2. 2. О чем пойдет речь? Web Mobile Техническое задание (технический писатель) Юзабилити (юзабилист) Дизайн (дизайнер) Верстка (верстальщик) Верстка (???) Программирование (программист)• Что требовать от дизайнера?• Как и с помощью чего можно сверстать приложение?• Какие трудности могут возникнуть и как их преодолеть? 02/10
  3. 3. Основная проблема разработчика 03/10
  4. 4. Что рекомендует Google?• fill_parent, wrap_content, dp вместо px в layout XML• Не использовать AbsoluteLayout• Не использовать px в коде• Использовать различные ресурсы в зависимости отпараметров экрана Спецификаторы ресурсов: NinePatch: small, normal, large, xlarge draw9patch long, notlong слева и сверху – область для растягивания port, land справа и снизу – область контента ldpi, mdpi, hdpi, xhdpi, nodpi 04/10
  5. 5. Цель – измерить все в dip ldpi (120) mdpi (160) hdpi (240) px dp px dp px dp Small 240x320 320x426.6 240x400 320x533.3 320x480 320x480 480x800 320x533.3 Normal 240x432 320x576 480x854 320x569.3 480x800 480x800 Large 480x854 480x854Получается максимум 7 разрешений в dpРазрешения можно группировать, тогда количество групп меньшеСпецификаторы относятся к layout XMLНо еще есть планшеты с xlarge и xhdpi... 05/10
  6. 6. «Табличная верстка»При использовании LinearLayout :• android:layout_weight – перераспределение свободного места• android:layout_gravity А в TableRow (TableLayout) еще и: • android:layout_column • android:layout_span 06/10
  7. 7. DIYActivity.onCreate – создаем все из кодаНо есть еще один способ:1. MyLayoutInflater extends LayoutInflater2. Activity.getLayoutInflater возвращает MyLayoutInflater3. Activity.getSystemService(Service.LAYOUT_INFLATER_SERVICE) – тоже4. В layout XML объявляем новое пространство имен аттрибутов5. В MyLayoutInflater.onCreateView обрабатываем их6. Выделяем все в подключаемую библиотеку 07/10
  8. 8. Инструментарий1. Редактор в Eclipse (как ни странно) – удобно для разработчика2. Droiddraw (http://droiddraw.org) – есть и онлайн, и оффлайн3. LWUIT для Android – неспортивно4. Наборы для прототипирования:http://www.androidpatterns.com/http://www.smashingmagazine.com/2009/08/18/android-gui-psd-vector-kit/http://unitid.nl/2009/11/fireworks-template-for-android/http://graffletopia.com/stencils/578 08/10
  9. 9. Ваш вопрос ? d.vorobiev@litecoding.com http://litecoding.com сейчас, через приложение omyconf 09/10

×