2012-09-17 12 views
6

domanda semplice, ma non hanno trovato alcuna risposta semplice per i principianti Android così come sono io ...Android attività - sfondo animato drawable

Come posso animare sfondo drawable in Android?

Mi piacerebbe realizzare l'animazione di bakcground se possibile con un metodo semplice e intuitivo.

Grazie mille per aiuto saluti, Bruno

EDIT: Dopo un po 'googling sono riuscito a raggiungere il mio obiettivo. Ho usato l'approccio descritto da hasanghaforian e la meccanica si trovano in questo esempio di animazione straight-forward http://code.google.com/p/android-animation-example/

risposta

5

È possibile utilizzare RelativeLayout o AbsoluteLayout fatto domanda, mettere un'immagine (che copre sia genitore) in esso e poi montare il layout corrente di attività. Ora se imposti l'animazione per quell'immagine, sembra che lo sfondo della tua attività sia animato.
Per esempio Suppongo che questo sia il layout corrente della vostra attività:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/vg" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/img" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 
</LinearLayout> 

Ora questo layout si presenta come il layout precedente ed è possibile impostare l'animazione per un'immagine che si tratta di ID è img1 (sembra come Priorità: ound di aspetto principale) :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/vg" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 



    <ImageView 
     android:id="@+id/img1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_x="0dp" 
     android:layout_y="0dp" 
     android:src="@drawable/bright_sun" /> 
    <LinearLayout 
    android:id="@+id/vg2" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

     <ImageView 
     android:id="@+id/img" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 

</RelativeLayout> 
+0

Grazie mille per la risposta ... potresti forse descrivere brevemente come impostare l'animazione per quell'immagine per favore? Indovina che impostarlo su gif animate non sarà d'aiuto, o? :) –

+0

@brunolau Non sono sicuro di cosa desideri. Devi avere un 'Animazione disegnabile' (animazione di fotogrammi) o vuoi eseguire l'animazione con interpolazione? Un'animazione di interpolazione può eseguire una serie di semplici trasformazioni (posizione , dimensione, rotazione e trasparenza) sul contenuto di un oggetto View – hasanghaforian

+0

Ciao, mi piacerebbe usare l'animazione del fotogramma ... se questo significa Drawable, allora è quello –