使用easygifanimator软件把gif动画打散为图片。

第一步:先上图片素材,以下素材放到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 plain copy
  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. <itemandroid:drawable="@drawable/icon2"android:duration="150"></item>
  13. <itemandroid:drawable="@drawable/icon3"android:duration="150"></item>
  14. <itemandroid:drawable="@drawable/icon4"android:duration="150"></item>
  15. <itemandroid:drawable="@drawable/icon5"android:duration="150"></item>
  16. <itemandroid:drawable="@drawable/icon6"android:duration="150"></item>
  17. </animation-list>

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

[html] view plain copy
  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. <itemandroid:drawable="@drawable/icon5"android:duration="150"></item>
  13. <itemandroid:drawable="@drawable/icon4"android:duration="150"></item>
  14. <itemandroid:drawable="@drawable/icon3"android:duration="150"></item>
  15. <itemandroid:drawable="@drawable/icon2"android:duration="150"></item>
  16. <itemandroid:drawable="@drawable/icon1"android:duration="150"></item>
  17. </animation-list>


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

[html] view plain copy
  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. <ImageViewandroid:id="@+id/animationIV"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:padding="5px"
  10. android:src="@drawable/animation1"/>
  11. <Buttonandroid:id="@+id/buttonA"
  12. android:layout_width="wrap_content"
  13. android:layout_height="wrap_content"
  14. android:padding="5px"
  15. android:text="顺序显示"/>
  16. <Buttonandroid:id="@+id/buttonB"
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:padding="5px"
  20. android:text="停止"/>
  21. <Buttonandroid:id="@+id/buttonC"
  22. android:layout_width="wrap_content"
  23. android:layout_height="wrap_content"
  24. android:padding="5px"
  25. android:text="倒序显示"/>
  26. </LinearLayout>

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

[java] view plain copy
    1. packageorg.shuxiang.test;
    2. importandroid.app.Activity;
    3. importandroid.graphics.drawable.AnimationDrawable;
    4. importandroid.os.Bundle;
    5. importandroid.view.View;
    6. importandroid.view.View.OnClickListener;
    7. importandroid.view.Window;
    8. importandroid.widget.Button;
    9. importandroid.widget.ImageView;
    10. publicclassActivity10extendsActivity
    11. {
    12. privateImageViewanimationIV;
    13. privateButtonbuttonA,buttonB,buttonC;
    14. privateAnimationDrawableanimationDrawable;
    15. @Override
    16. publicvoidonCreate(BundlesavedInstanceState){
    17. super.onCreate(savedInstanceState);
    18. requestWindowFeature(Window.FEATURE_NO_TITLE);
    19. setContentView(R.layout.test10);
    20. animationIV=(ImageView)findViewById(R.id.animationIV);
    21. buttonA=(Button)findViewById(R.id.buttonA);
    22. buttonB=(Button)findViewById(R.id.buttonB);
    23. buttonC=(Button)findViewById(R.id.buttonC);
    24. buttonA.setOnClickListener(newOnClickListener()
    25. {
    26. @Override
    27. publicvoidonClick(Viewv){
    28. //TODOAuto-generatedmethodstub
    29. animationIV.setImageResource(R.drawable.animation1);
    30. animationDrawable=(AnimationDrawable)animationIV.getDrawable();
    31. animationDrawable.start();
    32. }
    33. });
    34. buttonB.setOnClickListener(newOnClickListener()
    35. {
    36. @Override
    37. publicvoidonClick(Viewv){
    38. //TODOAuto-generatedmethodstub
    39. animationDrawable=(AnimationDrawable)animationIV.getDrawable();
    40. animationDrawable.stop();
    41. }
    42. });
    43. buttonC.setOnClickListener(newOnClickListener()
    44. {
    45. @Override
    46. publicvoidonClick(Viewv){
    47. //TODOAuto-generatedmethodstub
    48. animationIV.setImageResource(R.drawable.animation2);
    49. animationDrawable=(AnimationDrawable)animationIV.getDrawable();
    50. animationDrawable.start();
    51. }
    52. });
    53. }
    54. }

更多相关文章

  1. android中requestFocus
  2. Android开发--在Eclipse中使用android.support.v7
  3. ReactNative项目打包(Android(安卓)&& IOS)
  4. android tabHost布局之一 继承TabActivity并以布局文件进行布局
  5. Android路径中提取文件名
  6. Unity3D-如何给AndroidMainifest.xml增加意图过滤器
  7. Android(安卓)Property Animation动画
  8. 阅读《Android(安卓)从入门到精通》(25)——标签切换
  9. 【Android】移动端接入Cronet实践

随机推荐

  1. 解读Android之Service(3)AIDL
  2. android SystemServer详解
  3. 解决ADT中新建Android工程出现多个appcom
  4. android View中如何判断长按事件
  5. Android中由文件名获取文件Id的两种方法
  6. android Paint 渐变色
  7. Android添加依赖出现This support librar
  8. Android(安卓)软键盘自动弹出与关闭实例
  9. Android(安卓)-- Autosizing TextView 自
  10. Android绘制(二):来用Path绘出想要的图形