歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中的動畫詳解系列

Android中的動畫詳解系列

日期:2017/3/1 9:41:24   编辑:Linux編程

Android中的動畫詳解系列

逐幀動畫其實很簡單,下面我們來看一個例子:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <animation-list
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:oneshot="false">
  5. <itemandroid:drawable="@drawable/progress_1"android:duration="200"/>
  6. <itemandroid:drawable="@drawable/progress_2"android:duration="200"/>
  7. <itemandroid:drawable="@drawable/progress_3"android:duration="200"/>
  8. <itemandroid:drawable="@drawable/progress_4"android:duration="200"/>
  9. <itemandroid:drawable="@drawable/progress_5"android:duration="200"/>
  10. <itemandroid:drawable="@drawable/progress_6"android:duration="200"/>
  11. <itemandroid:drawable="@drawable/progress_7"android:duration="200"/>
  12. <itemandroid:drawable="@drawable/progress_8"android:duration="200"/>
  13. </animation-list>
<?xml version="1.0" encoding="utf-8"?>
<animation-list
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:oneshot="false">
    <item android:drawable="@drawable/progress_1" android:duration="200"/> 
    <item android:drawable="@drawable/progress_2" android:duration="200"/> 
    <item android:drawable="@drawable/progress_3" android:duration="200"/> 
    <item android:drawable="@drawable/progress_4" android:duration="200"/> 
    <item android:drawable="@drawable/progress_5" android:duration="200"/> 
    <item android:drawable="@drawable/progress_6" android:duration="200"/> 
    <item android:drawable="@drawable/progress_7" android:duration="200"/> 
    <item android:drawable="@drawable/progress_8" android:duration="200"/> 
</animation-list>

android:oneshot="false"的意思是循環播放

界面布局:

  1. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="fill_parent"
  3. android:layout_height="fill_parent"
  4. android:orientation="vertical">
  5. <Button
  6. android:layout_width="wrap_content"
  7. android:layout_height="wrap_content"
  8. android:text="開始"
  9. android:onClick="start"/>
  10. <Button
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:text="停止"
  14. android:onClick="stop"/>
  15. <ImageView
  16. android:id="@+id/iv"
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:background="@anim/zhuzhen"
  20. android:layout_gravity="center"/>
  21. </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="開始"
        android:onClick="start"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="停止"
        android:onClick="stop"/>
	<ImageView
	    android:id="@+id/iv"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:background="@anim/zhuzhen"
	    android:layout_gravity="center"/>
</LinearLayout>

MainActivity.java

  1. package com.example.testanimation;
  2. import android.graphics.drawable.AnimationDrawable;
  3. import android.os.Bundle;
  4. import android.support.v7.app.ActionBarActivity;
  5. import android.view.View;
  6. import android.widget.ImageView;
  7. publicclass MainActivity extends ActionBarActivity {
  8. private AnimationDrawable anim;
  9. @Override
  10. protectedvoid onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. ImageView iv = (ImageView) findViewById(R.id.iv);
  14. anim = (AnimationDrawable) iv.getBackground();
  15. }
  16. publicvoid start(View view){
  17. anim.start();
  18. }
  19. publicvoid stop(View view){
  20. anim.stop();
  21. }
  22. }
package com.example.testanimation;

import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends ActionBarActivity {
	private AnimationDrawable anim;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ImageView iv = (ImageView) findViewById(R.id.iv);
		anim = (AnimationDrawable) iv.getBackground();
		
	}
	
	public void start(View view){
		anim.start();
	}
	
	public void stop(View view){
		anim.stop();
	}
}

運行效果:

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-08/105023p2.htm

Copyright © Linux教程網 All Rights Reserved