English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Implementazione di animazione a frame con animation-list su Android

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.

Ti potrebbe interessare