Android AnimationDrawable运行的几种方式
来源:互联网 发布:淘宝捷易通是真的吗 编辑:程序博客网 时间:2024/06/04 19:38
项目开发用到了AnimationDrawable,调用start后没有运行,很纳闷。google搜了下。记录一下。
第二种方式启动动画:(在Activity启动时会自动运行动画)
第三种方式启动动画:(在Activity启动时会自动运行动画)
第四种方式启动动画:(在Activity启动时会自动运行动画)
这个AnimationDrawable.start不能直接写在onClick,onStart,onResume里面,是无效的,无法启动动画,只能写在比如事件监听当中。
以下有几种运行AnimationDrawable的方式。
第一种:在事件监听中start AnimationDrawable 下面一个例子举例 当一个视图树将要绘制时产生事件
AnimationDrawable ad;ImageView iv = (ImageView) findViewById(R.id.animation_view);iv.setBackgroundResource(R.drawable.animation);ad = (AnimationDrawable) iv.getBackground();iv.getViewTreeObserver().addOnPreDrawListener(opdl);OnPreDrawListener opdl=new OnPreDrawListener(){ @Override public boolean onPreDraw() { ad.start(); return true; //注意此行返回的值 }};
第二种方式启动动画:(在Activity启动时会自动运行动画)
ImageView image = (ImageView) findViewById(R.id.animation_view);image.setBackgroundResource(R.anim.oldsheep_wait); animationDrawable = (AnimationDrawable) image.getBackground(); RunAnim runAnim=new RunAnim(); runAnim.execute("");class RunAnim extends AsyncTask<String, String, String>{ @Override protected String doInBackground(String... params) { if (!animationDrawable.isRunning()) { animationDrawable.stop(); animationDrawable.start(); } return ""; }}
第三种方式启动动画:(在Activity启动时会自动运行动画)
ImageView image = (ImageView) findViewById(R.id.animation_view);image.setBackgroundResource(R.anim.oldsheep_wait); animationDrawable = (AnimationDrawable) image.getBackground();image.post(new Runnable(){ @Override public void run() { animationDrawable.start(); } });
第四种方式启动动画:(在Activity启动时会自动运行动画)
ImageView image = (ImageView) findViewById(R.id.animation_view);image.setBackgroundResource(R.anim.oldsheep_wait); animationDrawable = (AnimationDrawable) image.getBackground();@Override public void onWindowFocusChanged(boolean hasFocus) { animationDrawable.start(); super.onWindowFocusChanged(hasFocus); }
转自:http://blog.csdn.net/liuhanhan512/article/details/7666821
- Android AnimationDrawable运行的几种方式
- Android AnimationDrawable运行的几种方式
- Android AnimationDrawable运行的几种方式
- Android AnimationDrawable运行的几种方式
- AnimationDrawable运行的几种方式
- android AnimationDrawable的使用
- erlang程序运行的几种方式
- 浅析 php 的几种运行方式
- 运行Python程序的几种方式
- Android中的AnimationDrawable的使用
- Android中的AnimationDrawable的使用
- 解决AnimationDrawable动画不运行的问题
- Android中帧动画在Activity启动时自动运行的几种方式
- Android中帧动画在Activity启动时自动运行的几种方式
- Android中帧动画在Activity启动时自动运行的几种方式
- Android中帧动画在Activity启动时自动运行的几种方式
- Android中帧动画在Activity启动时自动运行的几种方式
- Android中帧动画在Activity启动时自动运行的几种方式
- 【cocos2d-x 初级教程之五 2.x 版本】cocos2d-x如何检测碰撞
- 链表的相邻元素的翻转
- 2012微软笔试题(暑期实习招聘)
- 上网之端口知识
- c++指针 指针入门
- Android AnimationDrawable运行的几种方式
- 图像处理(六)灰度形态学腐蚀与膨胀
- 吃披萨想到的沟通管理
- POJ2109
- Android应用程序签名打包,混淆代码时报错的处理方法
- 利用C++标注库实现文件的读写
- printk学习使用
- vs2010中加入环境变量
- PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询五:规划成plantree