2016-01-01 18 views
10

Ich verwende ein benutzerdefiniertes Floatingactionmenü. Ich muss Maßstabsanimation auf Show/hide Menü-Taste wie hier implementieren floating action button behaviourhide/show fab with scale animation

Gibt es eine Möglichkeit, dies zu tun?

+2

Verwenden der fab.show() und fab.hide() Methoden durch die Gestaltung lib vorgesehen. Vielleicht möchten Sie [this] (http://stackoverflow.com/questions/30937028/how-to-animate-floatingactionbutton-like-in-google-app-for-android) – Skynet

+0

seine nicht android fab Bibliothek seine Gewohnheit überprüfen fab menu [hier] (https://github.com/Clans/FloatingActionButton) – JosephM

+0

Warum möchten Sie eine Bibliothek verwenden, wenn das Framework diese Kontrolle für Sie bereitstellt? – Skynet

Antwort

13

Sie können diese Skalierungsanimationen für fab Taste verwenden, es gibt den gleichen Effekt wie Design lib fab Taste.

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

es funktioniert für mich dank @max – JosephM

+6

Wo gebe ich das, wie verwende ich es? –

38

Das Design Support-Bibliothek Revision 22.2.1 die hide() und show() Methoden zum FloatingActionButton Klasse hinzugefügt , damit Sie diese ab sofort nutzen können.

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

Sie können Ihre eigene Animation darauf anwenden. Für weitere Informationen check this.

+0

googles Zeug zu verlinken ist lächerlich, wir brauchen Beispiel – djdance

+0

richtige Antwort :) –

+0

sollte dies als die richtige Antwort markiert werden – icortesi

5

Laden Sie diese Animation in Ihre benutzerdefinierte Ansicht. Vergessen Sie nicht, den Drehpunkt auf 50% und den Interpolator auf den Linearinterpolator zu setzen.

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>