Android :动画的使用(1)

本文介绍如何使用Android的AnimationDrawable实现逐帧动画效果。通过准备一系列连续的图片并利用XML文件组织这些图片资源,可以轻松创建流畅的动画。文章提供了具体的代码示例和XML配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/tsiannian/article/details/6649467

Android为编程人员快速的创建一个动画提供了帮助,他就是AnimationDrawable他封装了线程细节,使用起来非常简单,下面就来看看他的使用方法。

所谓逐帧就是指一幅幅画面连续播放,得益于人眼的视觉停留,我们看到了运动的景象。所以我们要先准备一些图片,他们必须是相联系的,不然你看的的动画以一团糟了。用一个xml描述文件将他们组织起来。xml文件要放到drawable目录下。

  1. publicclassAnimationDrawableActivityextendsActivityimplementsView.OnClickListener{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. ImageViewimgView;
  4. Buttonbutton;
  5. @Override
  6. publicvoidonCreate(BundlesavedInstanceState){
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.main);
  9. button=(Button)findViewById(R.id.button);
  10. button.setOnClickListener(this);
  11. imgView=(ImageView)findViewById(R.id.imgView);
  12. }
  13. @Override
  14. publicvoidonClick(Viewv){
  15. imgView.setBackgroundResource(R.drawable.animation1);
  16. AnimationDrawablead=(AnimationDrawable)imgView.getBackground();
  17. if(ad.isRunning()){
  18. ad.stop();
  19. ad.start();
  20. }else{
  21. ad.start();
  22. }
  23. }
  24. }
public class AnimationDrawableActivity extends Activity implements View.OnClickListener{ /** Called when the activity is first created. */ ImageView imgView; Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.button); button.setOnClickListener(this); imgView = (ImageView)findViewById(R.id.imgView); } @Override public void onClick(View v) { imgView.setBackgroundResource(R.drawable.animation1); AnimationDrawable ad = (AnimationDrawable)imgView.getBackground(); if(ad.isRunning()){ ad.stop(); ad.start(); }else{ ad.start(); } } }
  1. <animation-list
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:oneshot="true"
  4. >
  5. <itemandroid:drawable="@drawable/r1"android:duration="100"></item>
  6. <itemandroid:drawable="@drawable/r2"android:duration="100"></item>
  7. <itemandroid:drawable="@drawable/r3"android:duration="100"></item>
  8. <itemandroid:drawable="@drawable/r4"android:duration="100"></item>
  9. <itemandroid:drawable="@drawable/r5"android:duration="100"></item>
  10. <itemandroid:drawable="@drawable/r6"android:duration="100"></item>
  11. <itemandroid:drawable="@drawable/r7"android:duration="100"></item>
  12. <itemandroid:drawable="@drawable/r8"android:duration="100"></item>
  13. </animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" > <item android:drawable="@drawable/r1" android:duration="100"></item> <item android:drawable="@drawable/r2" android:duration="100"></item> <item android:drawable="@drawable/r3" android:duration="100"></item> <item android:drawable="@drawable/r4" android:duration="100"></item> <item android:drawable="@drawable/r5" android:duration="100"></item> <item android:drawable="@drawable/r6" android:duration="100"></item> <item android:drawable="@drawable/r7" android:duration="100"></item> <item android:drawable="@drawable/r8" android:duration="100"></item> </animation-list>

Android为编程人员快速的创建一个动画提供了帮助,他就是AnimationDrawable他封装了线程细节,使用起来非常简单,下面就来看看他的使用方法。

所谓逐帧就是指一幅幅画面连续播放,得益于人眼的视觉停留,我们看到了运动的景象。所以我们要先准备一些图片,他们必须是相联系的,不然你看的的动画以一团糟了。用一个xml描述文件将他们组织起来。xml文件要放到drawable目录下。

  1. publicclassAnimationDrawableActivityextendsActivityimplementsView.OnClickListener{
  2. /**Calledwhentheactivityisfirstcreated.*/
  3. ImageViewimgView;
  4. Buttonbutton;
  5. @Override
  6. publicvoidonCreate(BundlesavedInstanceState){
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.main);
  9. button=(Button)findViewById(R.id.button);
  10. button.setOnClickListener(this);
  11. imgView=(ImageView)findViewById(R.id.imgView);
  12. }
  13. @Override
  14. publicvoidonClick(Viewv){
  15. imgView.setBackgroundResource(R.drawable.animation1);
  16. AnimationDrawablead=(AnimationDrawable)imgView.getBackground();
  17. if(ad.isRunning()){
  18. ad.stop();
  19. ad.start();
  20. }else{
  21. ad.start();
  22. }
  23. }
  24. }
public class AnimationDrawableActivity extends Activity implements View.OnClickListener{ /** Called when the activity is first created. */ ImageView imgView; Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.button); button.setOnClickListener(this); imgView = (ImageView)findViewById(R.id.imgView); } @Override public void onClick(View v) { imgView.setBackgroundResource(R.drawable.animation1); AnimationDrawable ad = (AnimationDrawable)imgView.getBackground(); if(ad.isRunning()){ ad.stop(); ad.start(); }else{ ad.start(); } } }
  1. <animation-list
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:oneshot="true"
  4. >
  5. <itemandroid:drawable="@drawable/r1"android:duration="100"></item>
  6. <itemandroid:drawable="@drawable/r2"android:duration="100"></item>
  7. <itemandroid:drawable="@drawable/r3"android:duration="100"></item>
  8. <itemandroid:drawable="@drawable/r4"android:duration="100"></item>
  9. <itemandroid:drawable="@drawable/r5"android:duration="100"></item>
  10. <itemandroid:drawable="@drawable/r6"android:duration="100"></item>
  11. <itemandroid:drawable="@drawable/r7"android:duration="100"></item>
  12. <itemandroid:drawable="@drawable/r8"android:duration="100"></item>
  13. </animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" > <item android:drawable="@drawable/r1" android:duration="100"></item> <item android:drawable="@drawable/r2" android:duration="100"></item> <item android:drawable="@drawable/r3" android:duration="100"></item> <item android:drawable="@drawable/r4" android:duration="100"></item> <item android:drawable="@drawable/r5" android:duration="100"></item> <item android:drawable="@drawable/r6" android:duration="100"></item> <item android:drawable="@drawable/r7" android:duration="100"></item> <item android:drawable="@drawable/r8" android:duration="100"></item> </animation-list>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值