2017-05-26 6 views
1

Wie animiere ich zwischen zwei 9-gepatchten Bilddateien? Ich habe zwei 9-patched Bilddateien, die unterschiedliche Formen haben und ich möchte im Laufe der Zeit von einem Bild zum nächsten animieren. Ich kenne einen Weg Drawables mit, dass ich dachte gelten würde, aber ich bin ein Casting Fehler zu erhaltenWie animiere ich zwischen zwei verschiedenen 9-Patch-Bildern?

android.graphics.drawable.NinePatchDrawable nicht gegossen werden kann android.graphics.drawable.TransitionDrawable

Hier ist meine Implementierung. Ich habe eine Zeichnungsdatei erstellt, die auf meine beiden 9-Patch-Bilder verweist.

<?xml version="1.0" encoding="UTF-8"?> 
<transition xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/bg_drawer_blue" /> 
    <item android:drawable="@drawable/bg_drawer_white" /> 
</transition> 

Ich habe dann versucht, eine Animation

TransitionDrawable transition = (TransitionDrawable) mAnimateBgView.getBackground(); 
transition.startTransition(10000); 

ich auch

versuchte keine Ergebnisse
TransitionDrawable td = new TransitionDrawable(new Drawable[] { 
    getResources().getDrawable(R.drawable.bg_drawer_blue), 
    getResources().getDrawable(R.drawable.bg_drawer_white) 
}); 
d.startTransition(1000); 

Es gab zu tun haben. Die Animation hat nicht funktioniert.

Antwort

0

Für andere Ursachen dieses Problems liegt daran, dass das XML-Zeichen nicht als Hintergrund festgelegt wurde.

Durch Hinzufügen der folgenden Zeile wurde das Casting-Problem behoben.

mAnimateBgView.setBackground(getResources().getDrawable(R.drawable.anim_bg)); 
Verwandte Themen