Android中帧动画实现
16lz
2021-01-23
新建一个framebyframe.xml文件
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/an01" android:duration="1000" /> <item android:drawable="@drawable/an02" android:duration="1000" /> <item android:drawable="@drawable/an03" android:duration="2000" /></animation-list><!-- oneshot :是否只播放一遍动画 true 播放一遍 false 循环播放默认就是false -->
下边 就是具体代码实现了:
public class SplashActivity extends Activity {private ImageView imageView;private AnimationDrawable animationDrawable;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 帧动画imageView = (ImageView) findViewById(R.id.imageView1);// 第一种方式实现 动画/*animationDrawable = (AnimationDrawable) getResources().getDrawable(R.anim.framebyframe);imageView.setBackgroundDrawable(animationDrawable);*/// 第二种方式实现动画imageView.setBackgroundResource(R.anim.framebyframe);animationDrawable = (AnimationDrawable) imageView.getBackground();animationDrawable.start();//开始// animationDrawable.setOneShot(false);是否循环播放// animationDrawable.stop();停止播放// animationDrawable.isRunning();//是否播放// animationDrawable.getNumberOfFrames();//播放帧// animationDrawable.getFrame(index); 返回制定索引的 Drawable对象// animationDrawable.getDuration(i);停留的时间//延迟三秒 跳转 new Handler() {public void handleMessage(android.os.Message msg) {if (msg.what == 1) {//声明意图对象 实现 跳转Intent intent = new Intent(SplashActivity.this,MainActivity.class);startActivity(intent);}};}.sendEmptyMessageDelayed(1, 3000);//三秒}/*@Overridepublic boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { animationDrawable.start(); return true; } return super.onTouchEvent(event);}*/}
更多相关文章
- 老外写的在桌面添加快捷方式(DELPHI XE5 ANDROID)
- android定制化开关机动画、铃音
- Android通过原生方式获取经纬度与城市信息的方法
- Android Studio 基础 之 一键快速实现一个类的 构造函数、getter
- Android转场动画和共享元素动画兼容5.0以下版本的实现
- Android实用视图动画及工具系列之四:多状态CheckBox,可设置大小尺
- Android中的UID和PID意义,及查看方式