Проверьте, завершена ли анимация Glide Android - PullRequest
0 голосов
/ 25 июня 2018

Я использую код слушателя ниже

 .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    GifDrawable gifDrawable = null;
                    Handler handler = new Handler();
                    if (resource instanceof GifDrawable) {
                        gifDrawable = (GifDrawable) resource;

                        int duration = 0;
                        GifDecoder decoder = gifDrawable.getDecoder();
                        for (int i = 0; i < gifDrawable.getFrameCount(); i++) {
                            duration += decoder.getDelay(i);
                        }

                        handler.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
                                startActivity(intent);
                                SplashScreenActivity.this.finish();
                            }
                        }, (duration + 3000));

                    }

                    return false;
                }
            })

здесь я не могу получить доступ к getDecoder () на

 GifDecoder decoder = gifDrawable.getDecoder();

Как проверить, завершена ли анимация? почему getDecoder не доступен здесь Я использую ниже зависимость глиссады

implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'

Заранее спасибо

...