Animation-list帧动画使用【微信语音播放动画】

来源:互联网 发布:如何利用知乎赚钱 编辑:程序博客网 时间:2024/06/05 09:43

第一步:先上图片素材,以下素材放到res/drawable目录下:

http://blog.csdn.net/aminfo/article/details/7847761

图片素材:

文件名称:

icon1.png

icon1.png

icon1.png

icon1.png

icon1.png

icon1.png

第二步:上动画Animation-list帧布局文件,有2个,一个是按顺序显示动画,一个是倒序显示动画,文件存放在res/drawable目录下

顺序显示动画文件:animation1.xml

[html] view plaincopyprint?
  1. <?xmlversion="1.0"encoding="utf-8"?> 
  2. <!--  
  3.     根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 
  4.     根标签下,通过item标签对动画中的每一个图片进行声明 
  5.     android:duration 表示展示所用的该图片的时间长度 
  6. --> 
  7. <animation-list 
  8.   xmlns:android="http://schemas.android.com/apk/res/android" 
  9.   android:oneshot="true" 
  10.   > 
  11.     <itemandroid:drawable="@drawable/icon1"android:duration="150"></item> 
  12.     <item android:drawable="@drawable/icon2"android:duration="150"></item> 
  13.     <itemandroid:drawable="@drawable/icon3"android:duration="150"></item> 
  14.     <item android:drawable="@drawable/icon4"android:duration="150"></item> 
  15.     <itemandroid:drawable="@drawable/icon5"android:duration="150"></item> 
  16.     <item android:drawable="@drawable/icon6"android:duration="150"></item> 
  17. </animation-list> 


倒序显示动画文件:animation2.xml

[html] view plaincopyprint?
  1. <?xmlversion="1.0"encoding="utf-8"?> 
  2. <!--  
  3.     根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 
  4.     根标签下,通过item标签对动画中的每一个图片进行声明 
  5.     android:duration 表示展示所用的该图片的时间长度 
  6. --> 
  7. <animation-list 
  8.   xmlns:android="http://schemas.android.com/apk/res/android" 
  9.   android:oneshot="true" 
  10.   > 
  11.     <itemandroid:drawable="@drawable/icon6"android:duration="150"></item> 
  12.     <item android:drawable="@drawable/icon5"android:duration="150"></item> 
  13.     <itemandroid:drawable="@drawable/icon4"android:duration="150"></item> 
  14.     <item android:drawable="@drawable/icon3"android:duration="150"></item> 
  15.     <itemandroid:drawable="@drawable/icon2"android:duration="150"></item> 
  16.     <item android:drawable="@drawable/icon1"android:duration="150"></item> 
  17. </animation-list> 


第三步:上布局文件,放在res/layout目录下,文件名main.xml

[html] view plaincopyprint?
  1. <?xmlversion="1.0"encoding="utf-8"?> 
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 
  3.    android:layout_width="fill_parent" 
  4.    android:layout_height="fill_parent" 
  5.    android:orientation="vertical"> 
  6.     
  7. <ImageViewandroid:id="@+id/animationIV" 
  8.       android:layout_width="wrap_content" 
  9.       android:layout_height="wrap_content" 
  10.       android:padding="5px" 
  11.       android:src="@drawable/animation1"/>  
  12.        
  13. <Buttonandroid:id="@+id/buttonA" 
  14.      android:layout_width="wrap_content" 
  15.      android:layout_height="wrap_content" 
  16.      android:padding="5px" 
  17.      android:text="顺序显示"/> 
  18.   
  19. <Buttonandroid:id="@+id/buttonB" 
  20.      android:layout_width="wrap_content" 
  21.      android:layout_height="wrap_content" 
  22.      android:padding="5px" 
  23.      android:text="停止"/> 
  24.   
  25. <Buttonandroid:id="@+id/buttonC" 
  26.      android:layout_width="wrap_content" 
  27.      android:layout_height="wrap_content" 
  28.      android:padding="5px" 
  29.      android:text="倒序显示"/> 
  30.  
  31. </LinearLayout> 

第四步:上Activity文件,文件名:MainActivity.java

[java] view plaincopyprint?
  1. package org.shuxiang.test; 
  2.  
  3. import android.app.Activity; 
  4. import android.graphics.drawable.AnimationDrawable; 
  5.  
  6. import android.os.Bundle; 
  7. import android.view.View; 
  8. import android.view.View.OnClickListener; 
  9. import android.view.Window; 
  10. import android.widget.Button; 
  11. import android.widget.ImageView; 
  12.  
  13. public class Activity10extends Activity 
  14.     private ImageView animationIV; 
  15.     private Button buttonA, buttonB, buttonC; 
  16.     private AnimationDrawable animationDrawable; 
  17.     @Override 
  18.     public void onCreate(Bundle savedInstanceState) { 
  19.         super.onCreate(savedInstanceState); 
  20.         requestWindowFeature(Window.FEATURE_NO_TITLE); 
  21.         setContentView(R.layout.test10); 
  22.         
  23.          
  24.         animationIV = (ImageView) findViewById(R.id.animationIV); 
  25.         buttonA = (Button) findViewById(R.id.buttonA); 
  26.         buttonB = (Button) findViewById(R.id.buttonB); 
  27.         buttonC = (Button) findViewById(R.id.buttonC); 
  28.          
  29.         buttonA.setOnClickListener(new OnClickListener() 
  30.         { 
  31.             @Override 
  32.             public void onClick(View v) { 
  33.                 // TODO Auto-generated method stub 
  34.                 animationIV.setImageResource(R.drawable.animation1); 
  35.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable(); 
  36.                 animationDrawable.start(); 
  37.             } 
  38.              
  39.         });  
  40.          
  41.         buttonB.setOnClickListener(new OnClickListener() 
  42.         { 
  43.             @Override 
  44.             public void onClick(View v) { 
  45.                 // TODO Auto-generated method stub 
  46.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable(); 
  47.                 animationDrawable.stop(); 
  48.             } 
  49.              
  50.         }); 
  51.          
  52.         buttonC.setOnClickListener(new OnClickListener() 
  53.         { 
  54.             @Override 
  55.             public void onClick(View v) { 
  56.                 // TODO Auto-generated method stub 
  57.                 animationIV.setImageResource(R.drawable.animation2); 
  58.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable(); 
  59.                 animationDrawable.start(); 
  60.             }            
  61.         });         
  62.     } 

0 0
原创粉丝点击