bumptech/glide

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

Open

#2524 aperta il 27 ott 2017

Vedi su GitHub
 (10 commenti) (0 reazioni) (0 assegnatari)Java (6176 fork)batch import
GIFenhancementhelp wanted

Metriche repository

Star
 (35.023 star)
Metriche merge PR
 (Merge medio 4g 10h) (11 PR mergiate in 30 g)

Descrizione

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

Guida contributor