2017-08-09 2 views
2

Ich habe ein animation listXML in drawables:Wie animiere ich die Animationsliste in Kotlin?

<ImageView 
    ... 
    android:id="@+id/animatedPerson" 
    android:src="@drawable/animatedperson" 
    ... 
/> 

Und jetzt, was ich versuche, mit meinem Code, kann ich nicht starten die Animation:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> 
    <item android:duration="40" android:drawable="@drawable/animated_person_0 /> 
    <item android:duration="40" android:drawable="@drawable/animated_person_1 /> 
    <item android:duration="40" android:drawable="@drawable/animated_person_2 /> 
</animated-list> 

ich die list von meinem content_main.xml genannt.

+0

Code anzeigen, den Sie ausprobiert haben. – egoldx

+0

Es wird nicht hilfreich sein ... Ich bin ein Anfänger und ich bin mir nicht sicher, dass es helfen würde. Zum Beispiel: animatedPerson.animate(). Soweit ich weiß, sollte ich in Java android: background und getBackground.animate() verwenden. Aber ähnliches kann ich in Kotlin nicht finden. –

Antwort

2

in Java ist es wie folgt aus:

// Get the background, which has been compiled to an AnimationDrawable object. 
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); 

// Start the animation (looped playback by default). 
frameAnimation.start(); 

So Kotlin wirklich ähnlich sein wird:

// Get the background, which has been compiled to an AnimationDrawable object. 
val frameAnimation: AnimationDrawable = img.background as AnimationDrawable 

// Start the animation (looped playback by default). 
frameAnimation.start() 
-1

Kotlin zu Java ähnlich ist ...

// der Hintergrund kommen, die die wurde in ein AnimationDrawable-Objekt kompiliert.

val frameAnimation: AnimationDrawable = img.background as AnimationDrawable 

// Starten Sie die Animation (standardmäßig eine geloopte Wiedergabe).

frameAnimation.start() 

Eine andere Möglichkeit, Java-Code zu verwenden, ist zu konvertieren, indem Sie Strg + Shift + a und dann in Aktion Feild Kotlin, aufschreiben

konvertieren Java Kotlin ..

Es wird automatisch den Java-Code in Kotlin konvertieren.