Совсем недавно мы запустили бета-тестирование по заявкам. Решил рассказать про технические проблемы при извлечении статей, что происходит под капотом.
Анимации - это весело и красиво, но восприятие даже самой эффектной анимации может испортить их реализация. Анимации в интерфейсе должны быть прерываемыми и не блокировать взаимодействие с приложением.
Пример хорошей анимации в диспетчере приложений iOS. Вы можете смахнуть приложение и оно закроется, но перед закрытием есть небольшой промежуток времени, когда можно словить улетающий экран и вернуть его на место. В это временное окно можно и дальше пролистывать список приложений: анимация ничего не блокирует.
Пример плохой анимации в приложении Фитнес iOS. При открытии медальки проигрывается длительная анимация, которую нельзя пропустить и вообще как-то остановить шоу с медалькой. Тут ещё есть момент с тем, что экран можно закрыть только нажатием на кнопку назад.
Я понимаю, что разрабатывать прерываемые анимации сложно, когда это цепочки из разных анимаций, но всё таки старайтесь давать возможность пользователям прерывать анимации, длящиеся дольше 300-400 миллисекунд. Особенно, если они частые.
Если интересно посмотреть или почитать про анимации, то вот несколько ссылок. Они про iOS, но всё, что в них описывается, будет интересно дизайнерам и разработчикам под Android.
- Лекция Designing Fluid Interfaces про то, как делать отзывчивые интерфейсы.
- Custom paging в iOS. Реализация собственной пагинации в iOS с поиском опорной точки на основе скорости жеста.
- Вытягивающаяся карточка. Развитие предыдущего способа реализации собственной пагинации, но теперь для вытягивающихся карточек.
- Механика замедления в UIScrollView. Про математику в Scroll View iOS, которая делает его отзывчивым и естественным.
Comments
To post a comment, please log in or create an account.
Sign In