6

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

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

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

enter image description here enter image description here

Я нашел 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), но там, я должен создать каждый кадр вручную, что также нечетно.

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

+0

У Вас уже есть макет? –

+0

Лучше для вас создать свою собственную кнопку fab. Используйте CardView, сделайте это круглым атрибутом угла. убедитесь, что он имеет равную ширину и высоту. Затем дайте cardElevetion, теперь ваш плакат будет плавающим. Добавьте ImageView, затем добавьте дополнение к CardView, чтобы вы могли видеть что-то похожее на FAB. Теперь вы можете анимировать свой ImageView в соответствии с вашим желанием внутри CardView. В конце анимации вы можете изменить значок ImageView. –

ответ

0

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

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

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

0

Вы можете использовать анимацию кадра: вы создаете 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> 

Тогда вы поставите эту Drawable как ЦСИ внутри пользовательские FAB. Теперь вы можете начать кадр за кадром анимации (когда анимация FAB заканчивается):

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

 Смежные вопросы

  • Нет связанных вопросов^_^