bumptech/glide

Is there is any way to listen for the current GIF Frame while playing GIF?

Open

#2.524 aberto em 27 de out. de 2017

Ver no GitHub
 (10 comments) (0 reactions) (0 assignees)Java (6.176 forks)batch import
GIFenhancementhelp wanted

Métricas do repositório

Stars
 (35.023 stars)
Métricas de merge de PR
 (Mesclagem média 4d 10h) (11 fundiu PRs em 30d)

Description

I am using this code in Fresco. I want to switch to Glide

DraweeController controller = Fresco.newDraweeControllerBuilder()
                .setUri(uri)
                .setAutoPlayAnimations(true)
                .setControllerListener(new BaseControllerListener<ImageInfo>() {
                    @Override
                    public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
                        ((SimpleDraweeView) mGIFView).setAspectRatio((float) imageInfo.getWidth() / imageInfo.getHeight());

                        if (animatable != null && animatable instanceof AnimatedDrawable2) {
                            ((AnimatedDrawable2) animatable).setAnimationListener(

                                    new AnimationListener() {
                                        @Override
                                        public void onAnimationStart(AnimatedDrawable2 drawable) {

                                        }

                                        @Override
                                        public void onAnimationStop(AnimatedDrawable2 drawable) {

                                        }

                                        @Override
                                        public void onAnimationReset(AnimatedDrawable2 drawable) {

                                        }

                                        @Override
                                        public void onAnimationRepeat(AnimatedDrawable2 drawable) {

                                        }

                                        @Override
                                        public void onAnimationFrame(AnimatedDrawable2 drawable, int frameNumber) {
                                          //Current frame
                                        }

                                    });
                        }
                    }


                    @Override
                    public void onFailure(String id, Throwable throwable) {
                        super.onFailure(id, throwable);
                        Log.e("failed", throwable.getLocalizedMessage());
                    }
                }).build();

Guia do colaborador