2015-02-17 15 views
7

Czy ktoś zna dobrą bibliotekę lub podejście do osiągnięcia morfingu ikon i obrazów. W szczególności om szuka sposobu na morphp przycisk odtwarzania w przycisk pauzy w vice versa.Android L Morfing animacje

Dla przykładu polecam przeglądanie zupełnie nowej aplikacji YouTube na Androida w Sklepie Play. Lub odwiedzając ten link:

http://www.google.com/design/spec/animation/delightful-details.html

i sprawdzić po prawej stronie obrazu.

Każda pomoc zostanie bardzo doceniona. Dokładnie zauważyłem, że strona z githubem z menu materiałowym powoduje morfowanie przycisków. Ale jest to możliwe tylko poprzez przetłumaczenie i obracanie 3 pojedynczych linii.

https://github.com/balysv/material-menu/blob/master/library/src/main/java/com/balysv/materialmenu/MaterialMenuDrawable.java

To nie jest rzeczywiście pożądany efekt.

góry dzięki

+0

Hej, znalazłeś sposób na przekształcanie się ikon? Ja też chcę to wdrożyć. –

Odpowiedz

4

przyjrzeć się tej biblioteki: https://github.com/wnafee/vector-compat zapewnia AnimatedVectorDrawable i MorphButton że robi dokładnie to, czego szukasz.

Instrukcje
1 Dodaj zależność wektora-compat do pliku build.gradle i upewnij się, aby skorzystać buildToolsVersion 22 lub wyższa:

android { 
    // use version 22 or higher 
    buildToolsVersion "22.0.1" 
    ... 
} 
dependencies { 
    compile 'com.wnafee:vector-compat:1.0.5' 
    ... 
} 

2-Dodaj widok MorphButton w układzie xml

<com.wnafee.vector.MorphButton 
    android:id="@+id/playPauseBtn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:vc_startDrawable="@drawable/ic_pause_to_play" 
app:vc_endDrawable="@drawable/ic_play_to_pause" /> 

aby korzystać MorphButton w swojej aplikacji, upewnij się, że to element morphButtonStyle w bazę aplikacji tematu:

<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="morphButtonStyle">@style/Widget.MorphButton</item> 
</style> 

Animowane wektorowe kanału alfa dla Play/Pauza oraz odtwarzanie/stop są już zawarte w bibliotece, więc powyższy kod działa po wyjęciu z pudełka i nie trzeba importować żadnego dodatkowego kanału alfa siebie.

+1

Jeśli polecisz bibliotekę, zwykle pokazuje, jak można ją zastosować, podając kod. –

+1

W przeciwnym razie powinien on zostać opublikowany w sekcji komentarzy! –

+0

dodano próbki kodu – Shaegorath