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

第一步:先上图片素材,以下素材放到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

  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> 
<?xml version="1.0" encoding="utf-8"?>
<!-- 
	根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
	根标签下,通过item标签对动画中的每一个图片进行声明
	android:duration 表示展示所用的该图片的时间长度
 -->
<animation-list
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:oneshot="true"
  >
  	<item android:drawable="@drawable/icon1" android:duration="150"></item>
  	<item android:drawable="@drawable/icon2" android:duration="150"></item>
  	<item android:drawable="@drawable/icon3" android:duration="150"></item>
  	<item android:drawable="@drawable/icon4" android:duration="150"></item>
  	<item android:drawable="@drawable/icon5" android:duration="150"></item>
  	<item android:drawable="@drawable/icon6" android:duration="150"></item>
</animation-list>


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

  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> 
<?xml version="1.0" encoding="utf-8"?>
<!-- 
	根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
	根标签下,通过item标签对动画中的每一个图片进行声明
	android:duration 表示展示所用的该图片的时间长度
 -->
<animation-list
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:oneshot="true"
  >
  	<item android:drawable="@drawable/icon6" android:duration="150"></item>
  	<item android:drawable="@drawable/icon5" android:duration="150"></item>
  	<item android:drawable="@drawable/icon4" android:duration="150"></item>
  	<item android:drawable="@drawable/icon3" android:duration="150"></item>
  	<item android:drawable="@drawable/icon2" android:duration="150"></item>
  	<item android:drawable="@drawable/icon1" android:duration="150"></item>
</animation-list>


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

  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> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">
   
 <ImageView android:id="@+id/animationIV"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:padding="5px"
      android:src="@drawable/animation1"/> 
      
 <Button android:id="@+id/buttonA"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:padding="5px"
     android:text="顺序显示" />
 
 <Button android:id="@+id/buttonB"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:padding="5px"
     android:text="停止" />
 
 <Button android:id="@+id/buttonC"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:padding="5px"
     android:text="倒序显示" />

</LinearLayout>

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

  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.     } 
package org.shuxiang.test;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageView;

public class Activity10 extends Activity
{
	private ImageView animationIV;
	private Button buttonA, buttonB, buttonC;
	private AnimationDrawable animationDrawable;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.test10);
       
        
        animationIV = (ImageView) findViewById(R.id.animationIV);
        buttonA = (Button) findViewById(R.id.buttonA);
        buttonB = (Button) findViewById(R.id.buttonB);
        buttonC = (Button) findViewById(R.id.buttonC);
        
        buttonA.setOnClickListener(new OnClickListener()
        {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				animationIV.setImageResource(R.drawable.animation1);
				animationDrawable = (AnimationDrawable) animationIV.getDrawable();
				animationDrawable.start();
			}
        	
        }); 
        
        buttonB.setOnClickListener(new OnClickListener()
        {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				animationDrawable = (AnimationDrawable) animationIV.getDrawable();
				animationDrawable.stop();
			}
        	
        });
        
        buttonC.setOnClickListener(new OnClickListener()
        {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				animationIV.setImageResource(R.drawable.animation2);
				animationDrawable = (AnimationDrawable) animationIV.getDrawable();
				animationDrawable.start();
			}        	
        });        
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值