2011-04-23 81 views
1

請給我簡單的Android動畫示例與XML。我是Android新手,需要清晰的解釋。我需要簡單的Android動畫示例

+2

請搜索互聯網和這個網站。如果您有特定的問題,請回到這裏併發布該問題。 – Mat 2011-04-23 06:52:44

回答

21

試試這個,希望大家覺得有趣..

這裏是活動代碼...

package test.example; 

import android.app.Activity; 
import android.graphics.drawable.AnimationDrawable; 
import android.graphics.drawable.BitmapDrawable; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageView; 

public class AminationDemo extends Activity implements OnClickListener { 

    ImageView img; 

    Button strtbtn,stpbtn; 

    AnimationDrawable mAnimation; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     img = (ImageView) findViewById(R.id.iv); 

     BitmapDrawable frame0 = (BitmapDrawable)getResources().getDrawable(R.drawable.f0); 
     BitmapDrawable frame1 = (BitmapDrawable)getResources().getDrawable(R.drawable.f1); 
     BitmapDrawable frame2 = (BitmapDrawable)getResources().getDrawable(R.drawable.f2); 
     BitmapDrawable frame3 = (BitmapDrawable)getResources().getDrawable(R.drawable.f3); 
     BitmapDrawable frame4 = (BitmapDrawable)getResources().getDrawable(R.drawable.f4); 
     BitmapDrawable frame5 = (BitmapDrawable)getResources().getDrawable(R.drawable.f5); 

     int reasonableDuration = 750; 
     mAnimation = new AnimationDrawable(); 
     mAnimation.addFrame(frame0, reasonableDuration); 
     mAnimation.addFrame(frame1, reasonableDuration); 
     mAnimation.addFrame(frame2, reasonableDuration); 
     mAnimation.addFrame(frame3, reasonableDuration); 
     mAnimation.addFrame(frame4, reasonableDuration); 
     mAnimation.addFrame(frame5, reasonableDuration); 

     img.setBackgroundDrawable(mAnimation);   
     strtbtn = (Button) findViewById(R.id.strtbtn); 
     strtbtn.setOnClickListener(this); 
     stpbtn = (Button) findViewById(R.id.stpbtn); 
     stpbtn.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 

     if(v.getId()== R.id.strtbtn){ 

      mAnimation.start(); 
      mAnimation.setOneShot(false); 
     } 
     else 
     mAnimation.stop(); 
    } 
} 

佈局主...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<ImageView 
    android:id="@+id/iv" 
    android:layout_width="400dp" 
    android:layout_height="250dp" /> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <Button 
     android:layout_height="wrap_content" 
     android:id="@+id/strtbtn" 
     android:layout_width="wrap_content" 
     android:text="start" 
     />  
    <Button 
     android:layout_height="wrap_content" 
     android:id="@+id/stpbtn" 
     android:layout_width="wrap_content" 
     android:text="stop" 
     />  
</LinearLayout> 
</LinearLayout> 

這裏是例如幀或您可以創建自己的...(放入名稱爲f0,f1,...的繪圖)

first frame

second frame

Third frame

Fourth frame

Fifth frame

Sixth frame