Android动画背景图自动播放的实现
来源:互联网 发布:淘宝店铺的微淘在哪里 编辑:程序博客网 时间:2024/05/29 09:14
/*我们在开发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()方法来实现,但是还是有不足,得改变焦点才能触发,虽然理论可以自动实现改变焦点,感觉还是不甚可取。
0 0
- Android动画背景图自动播放的实现
- Android动画背景图自动播放的实现
- Android动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- Android动画背景图自动播放的实现程序
- Android animation 动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现
- 动画背景图自动播放的实现
- Android animation 动画背景图自动播放的实现和不能播放问题解决
- Android animation 动画背景图自动播放的实现 几种方式
- android实现动画自动播放的渐变欢迎页面
- android 动画自动播放
- android的ImageView动画自动播放
- Android动画背景自动播放
- 打造自动播放动画,实现PPt模式的效果
- android的ViewPager实现自动播放
- Android 动画的播放
- Android仪表盘实现自动增长的动画
- OpenCV(一) 安装配置篇 opencv2.49以及vs2010及其以上版本
- Sie Instant Messenger FIFA 14 Coins kaufen
- Dijkstra最短路径
- Redhat编码格式(系统语言、字符集)查询修改
- Java中throw和throws的区别
- Android动画背景图自动播放的实现
- Android高级模糊技术
- PL/SQL 9 注册码
- 但他的父亲仍然场场不落地前来观看,每次比
- LBP特征
- Web开发常见的几个漏洞解决方法 ---SQL注入
- 如何查看server端(虚拟机Fedora)的nfs服务器有没有配置好
- TCPMP编译方法
- Vim多行注释