Android动画背景图自动播放的实现
2014-06-12 09:32
555 查看
/*我们在开发android应用的时候,经常会遇到类似从网络加载大图,在加载的过程中,在图片要显示的ImageView位置,先显示一个转圈的loading动画图,给用户的体验会更好一些,要实现这个动画图很简单,使用在/res/anim中定义xml的方式,通常使用…. 来实现。 不过大多数朋友都会遇到的问题是,动画是做好了,但是界面在加载的时候,动画并不会自动播放,还得通过屏幕点击等事件来触发,这就失去了意义了,实际上,android的动画AnimationDrawable 组件里面有个start()方法用于启动动画播放,但是这个方法不能直接写在onClick,onStart,onResume里面,写进去也是无效的,无法启动动画,只能写在比如事件监听当中,于是我们可以使用点小技巧来实现自动播放 目前我知道的有三种方法:*/ ImageView imageView = (ImageView)findViewById(R.id.xxx); // 方法一:使用Runnalbe()来加载 imageView.setBackgroundResource(R.anim.xxxxx); final AnimationDrawable animationDrawable = (AnimationDrawable)imageView.getBackground(); imageView.post(new Runnable() { @Override public void run() { animationDrawable.start(); } }); //方法二:使用AsyncTask异步加载启动 imageView.setBackgroundResource(R.anim.xxxxx); AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground(); RunAnim runAnim=new RunAnim(); runAnim.execute(\"\"); class RunAnim extends AsyncTask { @Override protected String doInBackground(String... params) { if (!animationDrawable.isRunning()) { animationDrawable.stop(); animationDrawable.start(); } return \"\"; } } //方法三:通过添加addOnPreDrawListener来自动加载 imageView.setBackgroundResource(R.anim.xxxxx); AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground(); imageView.getViewTreeObserver().addOnPreDrawListener(preDrawListener); OnPreDrawListener preDrawListener = new OnPreDrawListener(){ @Override public boolean onPreDraw() { animationDrawable.start(); return true; //必须要有这个true返回 } }; //以上三种方法经过测试没有问题,另外网上有一些说使用重写Activity的onWindowFocusChanged()方法来实现,但是还是有不足,得改变焦点才能触发,虽然理论可以自动实现改变焦点,感觉还是不甚可取。
相关文章推荐
- Android动画背景图自动播放的实现程序
- Android动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- Android动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现和不能播放问题解决
- Android animation 动画背景图自动播放的实现
- 动画背景图自动播放的实现
- android实现动画自动播放的渐变欢迎页面
- Android动画背景自动播放
- 【Android游戏开发二十二】(图文详解)游戏中灵活实现动画播放!简述J2me的游戏类库与Android游戏开发!
- Android PowerImageView实现,可以播放动画的强大ImageView
- (转)【Android游戏开发二十二】(图文详解)游戏中灵活实现动画播放!简述J2me的游戏类库与Android游戏开发!
- Android PowerImageView实现,可以播放动画的强大ImageView
- Android Graphics 学习(1)----播放gif动画简单的实现
- 【Android游戏开发二十二】(图文详解)游戏中灵活实现动画播放!简述J2me的游戏类库与Android游戏开发!
- Android图片滚动,加入自动播放功能,使用自定义属性实现,霸气十足!
- (图文详解)游戏中灵活实现动画播放!简述J2me的游戏类库与Android游戏开发!