Android中帧动画
16lz
2021-01-23
package com.example.nationtinalize;import android.support.v7.app.ActionBarActivity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.widget.ImageView;/** * 帧动画使用步骤: * 1 准备好需要播放的一系列图片 * 2 在/res/drawable/目录下新建一个xml文件,根节点是<animation-list></animation-list> * 3 在新建的xml文件中按照播放图片顺序写好图片 * <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/girl_1" android:duration="200" /> <item android:drawable="@drawable/girl_2" android:duration="200" /> <item android:drawable="@drawable/girl_3" android:duration="200" /> <item android:drawable="@drawable/girl_4" android:duration="200" /> <item android:drawable="@drawable/girl_5" android:duration="200" /> <item android:drawable="@drawable/girl_6" android:duration="200" /> <item android:drawable="@drawable/girl_7" android:duration="200" /> <item android:drawable="@drawable/girl_8" android:duration="200" /> <item android:drawable="@drawable/girl_9" android:duration="200" /> <item android:drawable="@drawable/girl_10" android:duration="200" /> <item android:drawable="@drawable/girl_11" android:duration="200" /> </animation-list> 还可以在xml文件中设置 android:oneshot="true"属性,true表示动画只播放一次,false循环播放,默认是false * 4 使用一个控件盛放图片,例如使用Imageview * 5 ImageView 的使用步骤: * ImageView img=(ImageView)findViewById(R.id.img); img.setBackgroundResource(R.drawable.girls); * animationDrawable=(AnimationDrawable)img.getBackground(); * * 6 调用动画使用帧动画的start()方法。不能在oncreate()方法中开始动画,因为在开始动画前,图片还没有完全加载,如果需要马上调用动画,可以在如下方法中调用: * @Override public void onWindowFocusChanged(boolean hasFocus) { if(hasFocus){ animationDrawable.start(); } super.onWindowFocusChanged(hasFocus); } * @author Administrator *7 也可以点击图片再调用: * @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction()==MotionEvent.ACTION_DOWN){ animationDrawable.start(); return true; } return super.onTouchEvent(event); } */public class MainActivity extends ActionBarActivity { private AnimationDrawable animationDrawable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView img=(ImageView)findViewById(R.id.img); img.setBackgroundResource(R.drawable.girls); animationDrawable=(AnimationDrawable)img.getBackground(); } @Override public void onWindowFocusChanged(boolean hasFocus) { if(hasFocus){ animationDrawable.start(); } super.onWindowFocusChanged(hasFocus); }// @Override// public boolean onTouchEvent(MotionEvent event) {// // if(event.getAction()==MotionEvent.ACTION_DOWN){// animationDrawable.start();// return true;// }// // return super.onTouchEvent(event);// }}
更多相关文章
- Android 收缩展开动画
- Android APK 扩展文件
- Android旋转动画不停顿
- android 图片背景使用这种方式很爽
- android获得圆角图片
- Android在Button按钮上同时显示文字和图片
- android ViewFlipper实现图片轮播
- Android颜色值XML文件
- android 查看apk中资源文件