AnimationDrawable在listview中的播放--android实用技巧

最近写项目的时候 发现在自定义的listview的adapter中 AnimationDrawable 不能正常的播放 纠结了好久 以为是adapter缓存的问题。。。

百度了一下 总结如下:

【原因】

长话短说,问题的原因官方有解释。在onCreate() 中或其他初始化的场合下,不适用 AnimationDrawable 的 start 或 run 方法。因为 定义分帧的 drawable xml文件可能未能及时把各帧的资源及时加载。

注: AnimationDrawable.start不能直接写在onClick,onStart,onResume里面,是无效的,无法启动动画,只能写在比如事件监听当中

【解决办法】

在adapter里,用handler.post(); 触发,动画播放的命令就会排到去资源准备好后执行。也可以用handler.postdelay()来进行触发。。。

Handler mHandler = new Handler();
					mHandler.post(new Runnable() {

						@Override
						public void run() {
							// TODO Auto-generated method stub
							anim.start();
						}
					});
时间: 2024-10-11 18:53:13

AnimationDrawable在listview中的播放--android实用技巧的相关文章

程序员在编程开发中的10个实用技巧

程序员在编程开发中的10个实用技巧,下面是我自己在工作中学到的一些简单的技巧和策略,希望能对各位有用.1.     橡皮鸭调试法不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的.高谈阔论能让我们的大脑重新有条理地组织问题.在这种情况下,你的聊天对象就是“橡皮鸭”.团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”.有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢.2.     快速信息反馈一旦写好代码就要尽快得

android实用技巧 - 用代码来实现selector

众所周知,android可以通过XML文件来创建selector,以Drawable对象的形式安装到组件上,以提供统一的风格设置.但是在某些时候,我们需要通过代码的形式来实现相同的功能,例如组件数量非常多,对应不同的图片,这时候如果还用XML的话就需要创建大量的selector文件,非常繁琐. 例如一个TextView使用了如下的selector <TextView         android:id="@+id/TextView_title"         android:

CentOS系统中的passwd命令实用技巧小结

这篇文章主要介绍了Linux系统中的passwd命令实用技巧小结,是Linux入门学习中的基础知识,需要的朋友可以参考下 先来回顾一下passwd命令的基本用法: Linux passwd命令用来更改使用者的密码语法passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]必要参数:-d 删除密码-f 强制执行-k 更新只能发送在过期之后-l 停止账号使用-S 显示密码信息-u 启用已被停止的账户-x 设置密码的有效期-g 修改群组密码-i 过期后停止用户账号

android实用技巧:android实现listview异步加载图片

针对listview异步加载图片这个问题,麦子学院android开发老师讲了一种非常实用的方法,麦子学院android开发老师说凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好,下面就说实现方法,先贴上主方法的代码: package cn.wangmeng.test; import java.io.IOException; import java.io.InputStream; import java.lang.ref.SoftReference; import java.net.

Android实用技巧-缓存的使用

1.前言 前面也几篇博客提到了缓存,但是比较零散,最近又对数据缓存有了新的认识,所以来记录下我对缓存的理解,以及我在项目中是如何使用的. 2.为什么需要数据缓存 以下为我个人看法. 考虑极端环境下的用户体验 断网情况 网速慢的情况 节省客户端流量 减少服务器压力 3.什么样的数据需要缓存 首先最需要缓存的就是图片了(这个不多说) 其次就是一些非常重要的数据(如app首页数据) 4.常见的数据缓存方法以及优缺点 文件缓存 优点 可以缓存超大数据(实际用途很小) 缺点 读写开销大 数据库缓存 优点

Android 实用技巧 --- 命令godir (转载)

转自:http://blog.csdn.net/bigmarco/article/details/6995426 source build/envsetup.sh后可以使用很多android集成的shell命令 其中大家比较熟悉的应该是croot和m,mm,mmm croot可以快速的回到你的android源码根目录,省去了打一堆 cd ../../../../../的痛苦 godir则是累死croot的逆命令,快速进入到包含某个文件的目录 比如我们要进到包含init.rc目录 $godir i

Android学习之解决ListView中item点击事件和item中Button点击事件冲突问题

在ListView中添加Button后,如果只是单纯的加入而不加限制的话,ListView的onClick点击事件没有响应,因为Button获取了item的焦点,想要两者都可点击,需要加上如下限制: 在ListView的适配器中的布局文件中添加: (1)在布局文件的根元素上中添加属性android:descendantFocusability="blocksDescendants" (2)在Button中添加属性android:focusable="false"和a

android ListView中CheckBox错位的解决

貌似已经很晚了,但是还是想记下笔记,想让今天完满. 在ListView中加了checkBox,可是发现点击改变其选中状态的时候,发现其位置错乱.状态改变的并不是你选中的,百思不得其解.后面通过上网查资料,可是个说纷纭,但是我还是找到了解决办法. 在自定义的适配器中,对checkBox的设置如下: 记住两者的顺序,先对checkBox进行事件监听,再设置其状态.前提在布局中对checkBox的状态设为false. android ListView中CheckBox错位的解决,布布扣,bubuko.

浅谈Android中的异步加载之ListView中图片的缓存及优化三

     隔了很久没写博客,现在必须快速脉动回来.今天我还是接着上一个多线程中的异步加载系列中的最后一个使用异步加载实现ListView中的图片缓存及其优化.具体来说这次是一个综合Demo.但是个人觉得里面还算有点价值的就是里面的图片的缓存的实现.因为老实说它确实能在实际的项目中得到很好的应用.主要学习来源于慕课网中的异步加载学习,来自徐宜生大神的灵感.本次也就是对大神所讲知识的一个总结及一些个人的感受吧. 这次是一个综合的Demo,主要里面涉及到的知识主要有:网络编程.异步加载.JSON解析.