Android-дайджест #2: Красивый и отзывчивый UI

Сегодня посвятим весь дайджест теме, без которой сложно представить хорошее мобильное приложение, — пользовательскому интерфейсу.

Общие вопросы

Официальные UI паттерны от Google.

Неофициальные коллекции скриншотов приложений: раз, два, три. Иногда помогают понять, чего же хочет заказчик, или, наоборот, помогают ему выбрать именно то, что нужно вам.

Сервис для комбинирования цветовой палитры Material Design.

Android notification system: серьёзные изменения в версии 5.0.

Подробный мануал на CodePath по Defining Custom Views.

Bitmap quality, banding and dithering: материалу уже 4 года, но принципы остаются актуальными.

Как делается 2D рисование: слайды (часть 1, часть 2) от ребят из CoreServlets.

UI поток, как и зачем его не блокировать: официальная документация, хорошие материалы есть и на Хабре (первый, второй).

Анимации и перемещения

Весь раздел документации: Property Animation, View Animation, Drawable Animation. Мне здесь самым интересным показался Android Property Animation framework.

Плавное появление элементов: самый незамысловатый способ — атрибут animateLayoutChanges. Документация честно предупреждает, что возможна некорректная работа со вложенными элементами.

Cogito Learning ёмко рассказывает про интерполяции в анимациях. Кстати, на этом ресурсе можно найти и другие UI темы.

Scenes and Transitions API (начиная с Android 4.4): описание, видео с DevBytes. Backports для более старых версий ОС: первый, второй.

Cyril Mottier про нестандартные анимации на примере реального приложения Custom Animations With Fragments.

В Lollipop стали доступны изящные переходы между экранами (по состоянию на начало января в библиотеках совместимости для старых версий ОС они не представлены). Почти такого же эффекта, но приложив значительно больше усилий, можно добиться и на старых версиях: рассказывает Chet Haase, архив (!) с исходным кодом примера.

Библиотеки, которые помогают сделать красиво

Rebound: «пружинящие» анимации от ребят из Facebook.

EasyAndroidAnimations: коллекция из 50+ кастомных анимаций.

StickyListHeaders: makes it easy to integrate section headers in ListView.

PhotoView: ImageView for Android that supports zooming, by various touch gestures.

Android Sliding Up Panel: provides a simple way to add a draggable sliding up panel (как в Google Music, Google Maps и Rdio).

A simple showcase to show off Android’s new Material Design and some other cool new stuff. Демо приложения на Play Store у них совсем слабое сейчас, но вот код может быть полезен.

SwipeListView: An Android List View implementation with support for drawable cells and many other swipe related features.

Библиотеки для асинхронной загрузки изображений, если вдруг кто о них не знает: Universal Image Loader и Picasso. В той или иной мере эта функциональность также реализована в ion и Volley.

Некоторые частные случаи, о которых полезно знать

Опыт внедрения библиотеки Intel Integrated Native Developer Experience для работы с видео.

Иногда азиатские производители делают свой очень кастомизированный UI, который не получается переопределить стандартными средствами. Пример — случай с популярным смартфоном Lenovo.

Android Performance Case Study by Romain Guy. Довольно много внимания уделено именно UI.

И напоследок — почти философские рассуждения от Mark Murphy Material Design: Strategic Considerations.

← Предыдущий выпуск: Android дайджест #1
Следующий выпуск: Android дайджест #3

LinkedIn

5 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо, очень познавательно

Дякую за цікавий дайджест

полезный дайджест, спасибо

Цікава підбірка, дякую

Спасибо за подборку материалов

Подписаться на комментарии