Android中如何实现动画自动播放功能

Android中如何实现动画自动播放功能

这篇文章主要介绍“Android中如何实现动画自动播放功能”,在日常操作中,相信很多人在Android中如何实现动画自动播放功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android中如何实现动画自动播放功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

具体如下:

Android中如何实现动画自动播放功能

privateImageViewimage;privateAnimationDrawableanimDrawable=newAnimationDrawable();@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.table_title);image=(ImageView)this.findViewById(R.id.scrollView);//代码实现//for(inti=0;i<16;i++){//intid=getResources().getIdentifier("load_"+(i+1),"drawable",getPackageName());//animDrawable.addFrame(getResources().getDrawable(id),50);//}//animDrawable.setOneShot(false);//image.setBackgroundDrawable(animDrawable);animDrawable=(AnimationDrawable)image.getBackground();}@OverridepublicvoidonWindowFocusChanged(booleanhasFocus){super.onWindowFocusChanged(hasFocus);animDrawable.start();}

在onCreate中执行 animDrawale.start() 动画并不执行。 搞不懂啊
另外以上代码测试过有缺陷。 例如在TabActivity中 onWindowFocusChanged只会执行一次

所以

AnimationDrawablead;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);ImageViewiv=(ImageView)findViewById(R.id.animation_view);iv.setBackgroundResource(R.drawable.animation);ad=(AnimationDrawable)iv.getBackground();//关键代码iv.getViewTreeObserver().addOnPreDrawListener(opdl);}OnPreDrawListeneropdl=newOnPreDrawListener(){@OverridepublicbooleanonPreDraw(){if(ad.isRunning()==false){ad.start();}returntrue;//注意必须返回true}};

到此,关于“Android中如何实现动画自动播放功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!

发布于 2022-04-11 21:17:46
收藏
分享
海报
0 条评论
39
上一篇:Android中如何实现长按弹出上下文菜单功能 下一篇:Android中如何在有序广播中添加自定义权限
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码