Android AnimationDrawable运行的几种方式
来源:互联网 发布:阿里云查看流量统计 编辑:程序博客网 时间:2024/05/29 19:17
项目开发用到了AnimationDrawable,调用start后没有运行,很纳闷。google搜了下。记录一下。
这个AnimationDrawable.start不能直接写在onClick,onStart,onResume里面,是无效的,无法启动动画,只能写在比如事件监听当中。
以下有几种运行AnimationDrawable的方式。
第一种:在事件监听中start AnimationDrawable 下面一个例子举例 当一个视图树将要绘制时产生事件
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);
}
- 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启动时自动运行的几种方式
- python的url编码问题
- linux 中解析命令行参数 (getopt_long用法)
- HDU 1003——Max Sum (单调队列做法)
- checkbox 默认勾选
- Linux 内核中的 cdev_alloc和cdev_add
- Android AnimationDrawable运行的几种方式
- CentOS5使用Yum安装PHP5.3的两种方法
- LightMaps 光照贴图
- 用STUNNEL和CCPROXY组建加密代理系统
- 学习linux内核的经典书籍介绍
- NDK 学习
- TCL(Tool Command Language)学习笔记4-String
- Jquery中字符串比较和数字比较
- 用Commons FileUpload的时候,要注意FileItem的重复利用