2016-04-14 2 views
4

Ich habe eine Animation in einer XML-Ressource definiert, und ich möchte diese Animation an eine Ansicht anhängen. Ich weiß, wie man das im Code manuell durchführt, aber ich frage mich, ob es möglich ist, diese Animation direkt in der Layout-Deklaration an eine Ansicht anzuhängen. Etwas wie:Wie man eine Animation an ein Objekt in Layout-XML in Android anhängen?

<ImageView android:animation="@anim/my_anim" /> 

So wird die Animation automatisch ohne externen Code Aufruf. Ist dies mit dem integrierten Android SDK möglich (ich suche keine externe Bibliothek, die das als Drop-In-Funktion hinzufügen kann)? Wenn ja, wie?

Antwort

5

Die Antwort ist nein. Sie müssen die Animation zur Laufzeit anhängen. Aber es ist ziemlich einfach zu machen und sollte nur ein paar Zeilen Code nehmen. Zum Beispiel aus dem Android docs:

ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage); 
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump); 
spaceshipImage.startAnimation(hyperspaceJumpAnimation); 
+0

Danke, aber ich weiß schon, wie eine Ansicht von Code zu animieren :) war ich nur neugierig, einen Weg zu finden, es „all-deklarative“ Art und Weise zu tun, ohne Code zu schreiben. –

+0

Ich denke, die Frage, die ich dann habe, ist warum? Was ist die eigentliche Frage, die du stellen willst? Ich kann mir nicht vorstellen, 3 Zeilen Code zu schreiben, das ist für dich unvernünftig, also muss es einen anderen Grund geben. Ich kann vielleicht für Sie klären oder Ihnen helfen, das eigentliche Problem zu lösen. – NoChinDeluxe

+0

Ich habe nicht gesagt, dass es unvernünftig ist. Es ist einfach und ich mache es schon. Ich versuche nur so viel Logik wie möglich in Deklaration zu bewegen, anstatt Code hinterher zu schreiben und ich suchte nach einer Möglichkeit, Animationen in eine Deklaration aus Code zu verschieben. –

Verwandte Themen