English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo esempio condiviso spiega come implementare l'animazione a frame utilizzando animation-list, per riferimento, il codice dettagliato è il seguente
Metti le immagini da riprodurre in sequenza nella directory delle risorse
Crea i file animation1 e animation2 nella directory drawable. Uno mostra l'animazione in ordine, l'altro in ordine inverso,
Visualizzazione in ordine del file di animazione: animation1.xml
<?xml version="1.0" encoding="utf-8"?> <!-- Il tag principale è animation-list, dove oneshot rappresenta se l'animazione viene visualizzata una sola volta, impostato su false l'animazione ripeterà in continuazione Sotto il tag principale, utilizzare il tag item per dichiarare ogni immagine dell'animazione android:duration indica la lunghezza del tempo utilizzato per visualizzare l'immagine --> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" > <item android:drawable="@drawable/icon1" android:duration="150"></item> <item android:drawable="@drawable/icon2" android:duration="150"></item> <item android:drawable="@drawable/icon3" android:duration="150"></item> <item android:drawable="@drawable/icon4" android:duration="150"></item> <item android:drawable="@drawable/icon5" android:duration="150"></item> <item android:drawable="@drawable/icon6" android:duration="150"></item> </animation-list>
Visualizzazione in ordine inverso del file di animazione: animation2.xml
<?xml version="1.0" encoding="utf-8"?> <!-- Il tag principale è animation-list, dove oneshot rappresenta se l'animazione viene visualizzata una sola volta, impostato su false l'animazione ripeterà in continuazione Sotto il tag principale, utilizzare il tag item per dichiarare ogni immagine dell'animazione android:duration indica la lunghezza del tempo utilizzato per visualizzare l'immagine --> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" > <item android:drawable="@drawable/icon6" android:duration="150"></item> <item android:drawable="@drawable/icon5" android:duration="150"></item> <item android:drawable="@drawable/icon4" android:duration="150"></item> <item android:drawable="@drawable/icon3" android:duration="150"></item> <item android:drawable="@drawable/icon2" android:duration="150"></item> <item android:drawable="@drawable/icon1" android:duration="150"></item> </animation-list>
File di layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"> android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <ImageView android:id="@+id/animationIV"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:src="@drawable/animation1"/> <Button android:id="@+id/buttonA"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:text="Visualizzazione in ordine" /> <Button android:id="@+id/buttonB"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:text="Ferma" /> <Button android:id="@+id/buttonC"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:text="inversamente visibile" /> </LinearLayout>
Activity文件
package org.shuxiang.test; import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.ImageView; public class Activity10 extends Activity { private ImageView animationIV; private Button buttonA, buttonB, buttonC; private AnimationDrawable animationDrawable; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.test10); animationIV = (ImageView) findViewById(R.id.animationIV); buttonA = (Button) findViewById(R.id.buttonA); buttonB = (Button) findViewById(R.id.buttonB); buttonC = (Button) findViewById(R.id.buttonC); buttonA.setOnClickListener(new OnClickListener()} { @Override public void onClick(View v) { // TODO metodo generato automaticamente animationIV.setImageResource(R.drawable.animation1); animationDrawable = (AnimationDrawable) animationIV.getDrawable(); animationDrawable.start(); } }); buttonB.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO metodo generato automaticamente animationDrawable = (AnimationDrawable) animationIV.getDrawable(); animationDrawable.stop(); } }); buttonC.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO metodo generato automaticamente animationIV.setImageResource(R.drawable.animation2); animationDrawable = (AnimationDrawable) animationIV.getDrawable(); animationDrawable.start(); } }); } }
Questo è tutto il contenuto dell'articolo, speriamo che sia utile per la tua apprendimento e che tu sostenga fortemente il tutorial di urla.
Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, il copyright spetta ai rispettivi proprietari, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene il diritto di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una email a notice#oldtoolbag.com (sostituisci # con @ durante l'invio dell'email) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.