25
How to deal with different screen resolutions. Practical advices. Демьянов Артём

артем демьянов

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: артем демьянов

How to deal with different screen resolutions. Practical advices.

Демьянов Артём

Page 2: артем демьянов

• 3 года на рынке мобильных приложений

• Команда из 10 человек

• Специализация – детские приложения

• Присутствуем на всех платформах

Windows Store

Blackberry World

Page 3: артем демьянов

Проблема

Подготовка графического контента для приложений

• Разнообразие платформ

• Огромное количество экранов

Page 4: артем демьянов

Пример изображений

Неадаптированное Адаптированное

Page 5: артем демьянов

Проблема

В чем сложность:

• Отрисовка под каждый экран

• Нарезка / верстка / редактирорвание

• Тестирование под кажый экран

Все это выливается во время, людей и деньги

Page 6: артем демьянов

Наш путь

Нам повезло!

● Экраны были маленькие и их было мало

● Добавляли новые экраны по мере их появления

● С ростом количества экранов поняли, что надо что-то

менять

Page 7: артем демьянов

Наши решения

1.Подготовка контента под каждый экран

2.Используем векторные изображения

3.Автоматизируем процесс с помощью конструктора

Page 8: артем демьянов

1. Подготовка контента под каждый экран

+ нужные изображения выбираются сами

+ все изображения в одном приложении

- сложность сборки и редактирования

- большой объем приложения

Page 9: артем демьянов

Через 10 лет

Page 10: артем демьянов

2. Используем векторные изображения

Page 11: артем демьянов

SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.filename);

Drawable drawable = svg.createPictureDrawable();

imageView.setImageDrawable(drawable);

Библиотека svg-android-2

Page 12: артем демьянов
Page 13: артем демьянов

Плюсы и минусы

+ одна копия изображения

+ маленький размер

+ отличное качество

- только простые изображения

- сложность внедрения

- ограничение формата

Page 14: артем демьянов

3. Автоматическая подготовка графического контента

Наша собственная разработка – дизайнер и сборщик графического контента

Page 15: артем демьянов

Как это работает

Page 16: артем демьянов
Page 17: артем демьянов

Визуальная сборка контента

Page 18: артем демьянов

Мультиэкранность

Page 19: артем демьянов

Мультиэкранность

Page 20: артем демьянов

Просмотрщик

Page 21: артем демьянов

Технические детали

• Написано на java (swing), кроссплатформенное

• Сборки раньше были на ftp, теперь полностью

переехали на Windows Azure

• Сборка одного журнала ~10мин

Page 22: артем демьянов

+ Скорость

+ Простота

+ Качество

BufferedImage scaledImage = Scalr.resize(image, Scalr.Method.SPEED, 150, 100);

Библиотека imgscalr

Page 23: артем демьянов

Дизайнер контента

+ подготовка контента непрограммистом

+ платформонезависимость

+ легкое обновление и редактирование контента

- нужен сервер для хранения

- программная логика по скачиванию

- время на разработку дизайнера

Page 24: артем демьянов

Выводы

Drawable folder SVG Дизайнер

Простота реализации + - -

Легкость внесения

изменений

- + +

Поддрежка сложных

изображений

+ - +

Маленький размер

приложения

- + +

Отсутствие

серверной части

+ + -

Page 25: артем демьянов

Спасибо за внимание!