Android ImageView AnimationDrawable只显示第一帧图片解决方法

原因:
AnimationDrawable调用在ImageView完成显示图片之前,所以无法播放动画。
解决方法:
1、手动触发动画
2、添加监听器:


final ImageView voice_icon = (ImageView) view.findViewById(R.id.voice_icon);
				
				voice_icon.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {
					
					@Override
					public boolean onPreDraw() {
						// TODO Auto-generated method stub
						final AnimationDrawable animationDrawable = (AnimationDrawable) voice_icon.getDrawable();
						if (message.isPlaying()) {
							animationDrawable.start();
						}						
						return true;
					}
				});

© 2013, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记