Для создания реалистичных анимаций следует использовать класс Interpolator.
Пара примеров для ValueAnimator
Падают, падают, падают листья (ValueAnimator)
ValueAnimator: Развернуть/свернуть панель
В Android 3.0 появился класс ObjectAnimator.
Позволяет создавать стандартные виды анимации (прозрачность, перемещение, масштабирование, цвет).
Статья об ObjectAnimator.
ObjectAnimator. Состояния анимации
ObjectAnimator. Анимация шариков
Появилась в Android 3.1 (API 12). Очень удобное использование - выбираете компонент и указываете цепочкой набор анимаций, которые выполняются параллельно или последовательно. Используется класс Animator.
Доступны анимации прозрачности, масштабирования, перемещения. Также можно установить длительность, задержку, интерполяторы.
Статья о ViewPropertyAnimator.
Эффект Ripple появился в Android 5.0 и был доступен из коробки. Достаточно подключить нужный системный атрибут.
?android:attr/selectableItemBackground
?android:attr/selectableItemBackgroundBorderless
Также можно задать собственные виды эффекта при помощи RippleDrawable.
Статья о RippleDrawable.
В Android 5.0 появился новый эффект появления, когда отображается или скрывается группа элементов интерфейса. Класс содержит всего один метод.
Класс ViewAnimationUtils и метод createCircularReveal().
В Android 5.0 Lollipop появилась поддержка векторных изображений и анимация с ними. Позже векторные изображения стали доступны и для старых устройств через библиотеку совместимости.
Читать статью о AnimatedVectorDrawable.
Переходы обеспечивают зрительные связи между различными состояниями путем движения элементов и преобразований между общими элементами. Можно выбрать настраиваемые анимации для начальных и конечных переходов, а также для переходов общих элементов между операциями.
Класс TransitionDrawable (третий курс)
TransitionManager (шестой курс)
Scene (шестой курс)
Превращения между экранами активностей (Android 5.0, API 21) (седьмой курс)
Переход общих элементов между экранами активностей (Android 5.0, API 21) (седьмой курс)
Не забывайте, что у Android есть встроенные ресурсы для анимаций:
@android:anim/slide_in_left @android:anim/slide_out_right android.R.anim.fade_in android.R.anim.fade_out
Анимация (традиционная, устаревшая) в Android бывает двух видов:
Пример использования translate
Создание анимации для Splash-экрана
Анимация переходов у ViewFlipper
Анимация разметки и групп представлений
Анимация ListView и ListActivity
Всплывающая панель (второй курс)
Анимация с использованием Matrix (второй курс)
TimeAnimator (второй курс)
Анимация диалоговых окон (третий курс)
Управляй мечтой (третий курс)
Новые анимации активностей в Android 4.1 (Jelly Bean) (третий курс)
animateLayoutChanges - Анимация при изменении разметки (четвёртый курс)
Динамическое добавление компонентов через анимацию (четвёртый курс)
Анимация при вращении устройства (Android 4.3) (пятый курс)
StateListAnimator (шестой курс)
Видео DevBytes: Cardflip Animation - анимация для игральных карт на основе ImageView. Исходник.
Видео DevBytes: Custom Activity Animations - GridLayout с превьюшками. При нажатии на картинку она всплывает в большом размере и пояснительным текстом. Исходник
Видео DevBytes: Animating ListView Deletion - Анимация при удалении элементов в ListView. Исходник
Codedependent: DevBytes: Anticipation & Overshoot, Part 2 - Мультяшная анимация при перемещении кнопки (видео и исходник)
Видео DevBytes Sliding Fragments - YouTube - Исходник
Видео DevBytes: Folding Layout - YouTube - эффект складывающей гармошки. Исходник
daimajia/AndroidViewAnimations
vpaliyX/Material-Motion: This repository contains examples of reveal animations - библиотека интересных эффектов.
race604/WaveLoading: A wave-like loading drawable
tangqi92/WaveLoadingView: An Android library providing to realize wave loading effect.