Android: подробная анимация внутри плавающей кнопки действия

Я пытаюсь ознакомиться с новыми рекомендациями по дизайну Android Lollipop. Поэтому, особенно для анимаций, я пытаюсь добиться чего-то вроде этих подробных анимаций для значков или кнопок: http://www.google.com/design/spec/animation/delightful-details.html

Мне было интересно, как они это сделали?

В моем специальном случае у меня есть кнопка с плавающей кнопкой, которая используется для удаления элемента в корзине покупок. После того, как пользователь нажмет кнопку, я хочу анимировать значок, который можно извлечь внутри этой кнопки. Анимация должна иметь скользящий эффект, когда тележка перемещается в нижнюю часть кнопки, и галочка перемещается в верхней части кнопки.

Введите описание изображения здесьВведите описание изображения здесь

Я нашел ViewFlipper ( http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html ), однако я хочу держать кнопку на месте и только анимировать значок Внутри кнопки.

С другой стороны, я нашел AnimationDrawables ( http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html ), но там я должен создать каждый кадр вручную, что также нечетно.

Каков наилучший способ достичь этого?

Интересно, может ли теперь поддерживать ту поддержку, что теперь вы всегда можете создать свой собственный.

Создайте пользовательский линейный макет, содержащий изображение. Сделайте его круглым, как fab. Затем вы можете посмотреть примеры анимации

Надеюсь, поможет. Счастливые кодировки.

Вы можете использовать анимацию кадра: вы создаете 15-20 кадров для анимации, которую хотите сделать. Вы создаете анимационный список, например, animation_list.xml :

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:duration="50" android:drawable="@drawable/frame_01"/> <item android:duration="50" android:drawable="@drawable/frame_02"/> <item android:duration="50" android:drawable="@drawable/frame_03"/> <item android:duration="50" android:drawable="@drawable/frame_04"/> <item android:duration="50" android:drawable="@drawable/frame_05"/> <item android:duration="50" android:drawable="@drawable/frame_06"/></animation-list> 

Затем вы помещаете его в качестве src внутри своего пользовательского FAB. Теперь вы можете запустить анимацию кадра за кадром (когда закончится анимация FAB):

 ImageView mImageViewFilling = (ImageView) findViewById(R.id.animated_imageview); ((AnimationDrawable) mImageViewFilling.getBackground()).start();