2009-11-26 1 views
7

Ho difficoltà a applicare un'animazione a una vista. Sto provando a caricare l'animazione dall'interno del costruttore di un CursorAdapter, quindi posso impostarlo in seguito assegnarlo a determinati bambini nell'elenco.Android Frame by Frame Problema di animazione sugli elementi di un CursorAdapter

Nel costruttore ho:

shineAnimation = AnimationUtils.loadAnimation(ctx, R.anim.news_list_item_shine); 

l'animazione è nelle mie res/anim dir

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> 
    <item android:drawable="@drawable/shine1" android:duration="200" /> 
    <item android:drawable="@drawable/shine2" android:duration="200" /> 
    <item android:drawable="@drawable/shine3" android:duration="200" /> 
    <item android:drawable="@drawable/shine4" android:duration="200" /> 
    <item android:drawable="@drawable/shine5" android:duration="200" /> 
</animation-list> 

sto diventando un'eccezione: sconosciuto Nome animazione: animazione-list

L'aiuto sarebbe molto apprezzato

Grazie S

risposta

2

Non penso di caricare AnimationDrawables tramite AnimationUtils. AnimationDrawable è un Drawable in più rispetto a Animation. Prova this sample code dalla guida SDK.

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image); 
    rocketImage.setBackgroundResource(R.anim.rocket_thrust); 
    rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); 
+0

Ciao, grazie per la risposta, che è ancora una volta non è vero Mark :) Il motivo non ho provato ed uso il setBackgroundResource è che ho il sospetto che causerà l'animazione per l'esecuzione come lo sfondo per la mia vista. Suppongo che potrei aggirare questo mettendo un ImageView vuoto di fronte a tutti gli altri elementi e utilizzare setBackgroundResource() su quello? – Pandalover

+0

Probabilmente non devi usarlo come sfondo, ma penso che devi usarlo come un Drawable, non come un'animazione. Prova setImageResource() sul tuo ImageView invece di setBackgroundResource(), o qualcosa del genere. – CommonsWare