2012年8月17日 星期五

Flame Animation



Flame Animation




public class ImageFlameActivity extends Activity {
    /** Called when the activity is first created. */

AnimationDrawable fireAnimation;
Button mButton01;
Button mButton02;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
      //定義Frame Animation動畫的xml檔案
        ImageView mImageView = (ImageView)findViewById(R.id.imageView1);
        mImageView.setBackgroundResource(R.anim.fire_anim);
        fireAnimation = (AnimationDrawable) mImageView.getBackground();
     
      //設定按鈕來開始或終止Frame Animation動畫
        mButton01 = (Button)findViewById(R.id.Button01);
        mButton01.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (!fireAnimation.isRunning()){
fireAnimation.start();
mButton01.setText(R.string.click_me_to_stop);
}else {
fireAnimation.stop();
mButton01.setText(R.string.click_me_to_start);
}
}
});
     
        //設定可以改變只跑一次,或是不停止地顯示
        mButton02 = (Button)findViewById(R.id.Button02);
        mButton02.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (fireAnimation.isOneShot()){
fireAnimation.setOneShot(false);
mButton02.setText(R.string.click_me_to_many_times);
}else{
fireAnimation.setOneShot(true);
mButton02.setText(R.string.click_me_to_one_time);
}
}
});
     
    }

//擇其一 來啟動 fireAnimation.start():
  //Start Flame Animation動畫 ── 方法一
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if (hasFocus){
fireAnimation.start();
mButton01.setText(R.string.click_me_to_stop);
}else {
fireAnimation.stop();
mButton01.setText(R.string.click_me_to_start);
}
}



 //Start Flame Animation動畫 ── 方法二
    public boolean onTouchEvent(MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_DOWN){
fireAnimation.start();
return true;
}
 
    return super.onTouchEvent(event);
    }
 
}

******************************
res/fire_anim.xml


<?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/fire01" android:duration="100" />
    <item android:drawable="@drawable/fire02" android:duration="100" />
    <item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="100" />
<item android:drawable="@drawable/fire02" android:duration="100" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="200" />
<item android:drawable="@drawable/fire02" android:duration="200" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="300" />
<item android:drawable="@drawable/fire02" android:duration="300" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
<item android:drawable="@drawable/fire01" android:duration="400" />
<item android:drawable="@drawable/fire02" android:duration="400" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
<item android:drawable="@drawable/fire01" android:duration="500" />
<item android:drawable="@drawable/fire02" android:duration="500" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
<item android:drawable="@drawable/fire01" android:duration="600" />
<item android:drawable="@drawable/fire02" android:duration="600" />
</animation-list>

******************************************
res/layout/main.xml:


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="360px"
        android:layout_height="560px"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center" />

 

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
     
        <Button
        android:id="@+id/Button01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/click_me_to_start" />
     
        <Button
        android:id="@+id/Button02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/click_me_to_one_time" />
     
    </LinearLayout>

****************************************
res/values/string.xml:


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">ImgFlame01Activity!</string>
    <string name="app_name">Frame01</string>
    <string name="click_me_to_stop">按我\n停止</string>
<string name="click_me_to_start">按我\n開始</string>
<string name="click_me_to_one_time">一次</string>
<string name="click_me_to_many_times">重複</string>

</resources>




沒有留言:

張貼留言