http://blog.youkuaiyun.com/tsiannian/article/details/6649467
Android为编程人员快速的创建一个动画提供了帮助,他就是AnimationDrawable。他封装了线程细节,使用起来非常简单,下面就来看看他的使用方法。
所谓逐帧就是指一幅幅画面连续播放,得益于人眼的视觉停留,我们看到了运动的景象。所以我们要先准备一些图片,他们必须是相联系的,不然你看的的动画以一团糟了。用一个xml描述文件将他们组织起来。xml文件要放到drawable目录下。
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(); } } }
- publicclassAnimationDrawableActivityextendsActivityimplementsView.OnClickListener{
- /**Calledwhentheactivityisfirstcreated.*/
- ImageViewimgView;
- Buttonbutton;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- button=(Button)findViewById(R.id.button);
- button.setOnClickListener(this);
- imgView=(ImageView)findViewById(R.id.imgView);
- }
- @Override
- publicvoidonClick(Viewv){
- imgView.setBackgroundResource(R.drawable.animation1);
- AnimationDrawablead=(AnimationDrawable)imgView.getBackground();
- if(ad.isRunning()){
- ad.stop();
- ad.start();
- }else{
- ad.start();
- }
- }
- }
<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>
- <animation-list
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:oneshot="true"
- >
- <itemandroid:drawable="@drawable/r1"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r2"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r3"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r4"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r5"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r6"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r7"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r8"android:duration="100"></item>
- </animation-list>
![]()
Android为编程人员快速的创建一个动画提供了帮助,他就是AnimationDrawable。他封装了线程细节,使用起来非常简单,下面就来看看他的使用方法。
所谓逐帧就是指一幅幅画面连续播放,得益于人眼的视觉停留,我们看到了运动的景象。所以我们要先准备一些图片,他们必须是相联系的,不然你看的的动画以一团糟了。用一个xml描述文件将他们组织起来。xml文件要放到drawable目录下。
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(); } } }
- publicclassAnimationDrawableActivityextendsActivityimplementsView.OnClickListener{
- /**Calledwhentheactivityisfirstcreated.*/
- ImageViewimgView;
- Buttonbutton;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- button=(Button)findViewById(R.id.button);
- button.setOnClickListener(this);
- imgView=(ImageView)findViewById(R.id.imgView);
- }
- @Override
- publicvoidonClick(Viewv){
- imgView.setBackgroundResource(R.drawable.animation1);
- AnimationDrawablead=(AnimationDrawable)imgView.getBackground();
- if(ad.isRunning()){
- ad.stop();
- ad.start();
- }else{
- ad.start();
- }
- }
- }
<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>
- <animation-list
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:oneshot="true"
- >
- <itemandroid:drawable="@drawable/r1"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r2"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r3"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r4"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r5"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r6"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r7"android:duration="100"></item>
- <itemandroid:drawable="@drawable/r8"android:duration="100"></item>
- </animation-list>
![]()