2016-01-01 2 views
10

Я использую пользовательские floactionmenu. Мне нужно реализовать масштабную анимацию на кнопке show/hide, например, здесь floating action button behaviourhide/show fab с масштабной анимацией

Есть ли способ сделать это?

+2

Используйте fab.show() и fab.hide() методы, обеспечиваемой конструкцией Lib. Также вы можете проверить [this] (http://stackoverflow.com/questions/30937028/how-to-animate-floatingactionbutton-like-in-google-app-for-android) – Skynet

+0

его библиотека андроидов нестандартная fab menu [здесь] (https://github.com/Clans/FloatingActionButton) – JosephM

+0

Почему вы хотите использовать библиотеку, когда инфраструктура предоставляет этот элемент управления для вас? – Skynet

ответ

13

Вы можете использовать эти масштабные анимации для кнопки fab, она дает тот же эффект, что и кнопка дизайна lib fab.

scale_up.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <scale 
     android:duration="100" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:pivotX="85%" 
     android:pivotY="85%" 
     android:toXScale="1.0" 
     android:toYScale="1.0" /> 
</set> 

scale_down.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <scale 
     android:duration="100" 
     android:fromXScale="1.0" 
     android:fromYScale="1.0" 
     android:pivotX="85%" 
     android:pivotY="85%" 
     android:toXScale="0" 
     android:toYScale="0" /> 
</set> 
+0

его работало для меня спасибо @max – JosephM

+6

Где я могу это поставить, как его применить? –

38

Пересмотр дизайн библиотека поддержки 22.2.1 добавлена ​​шкурку() и шоу() методы к FloatingActionButton класса , поэтому вы можете использовать их с этого момента.

FloatingActionButton mFab; 
mFab.hide(); 
mFab.show(); 

Вы можете применить к нему свою собственную анимацию. Дополнительная информация check this.

+0

Ссылка на вещи Google нелепо, нам нужен пример – djdance

+0

правильный ответ :) –

+0

это должно быть отмечено как правильный ответ – icortesi

5

Загрузите эти анимации в свой собственный пользовательский вид. Не забудьте установить точку поворота на 50% и интерполятор на линейный интерполятор.

scale_up.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <scale 
     android:duration="100" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="1.0" 
     android:toYScale="1.0" /> 
</set> 

scale_down.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <scale 
     android:duration="100" 
     android:fromXScale="1.0" 
     android:fromYScale="1.0" 
     android:interpolator="@android:anim/linear_interpolator" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0" 
     android:toYScale="0" /> 
</set> 
Смежные вопросы