0%

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;
                    }
                });