2 votes

Glide n'accepte pas GifDrawable comme paramètre cible

J'essaie de trouver la fin du gif avec la glisse.

c'est le code que j'ai trouvé sur le web :

Glide.with(thisActivity).asGif().load(R.raw.logo_gif_motion_low).listener(object : RequestListener<GifDrawable> {
                override fun onLoadFailed(p0: GlideException?, p1: Any?, p2: Target<GifDrawable>, p3: Boolean): Boolean {

                }
                override  fun onResourceReady(p0: GifDrawable?, p1: Any?, p2: Target<GifDrawable>, p3: DataSource?, p4: Boolean): Boolean {

                    return false
                }
            }).into(splashscreen);

le problème est, qu'il n'accepte pas GifDrawable sur Cible .

l'erreur disant que :

enter image description here

6voto

Nilesh Rathod Points 34836

Utilisez

target: com.bumptech.glide.request.target.Target<GifDrawable>?

au lieu de

Target<GifDrawable>

Essayez ceci

    Glide.with(this).asGif().load("").listener(object : RequestListener<GifDrawable> {
        override fun onResourceReady(resource: GifDrawable?, model: Any?, target: Target<GifDrawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
        }

        override fun onLoadFailed(e: GlideException?, model: Any?, target: com.bumptech.glide.request.target.Target<GifDrawable>?, isFirstResource: Boolean): Boolean {
            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
        }

    }).into(splashscreen)

1voto

sasikumar Points 7070

Dans votre fichier build.gradle, ajoutez ce qui suit

L'inclusion du processeur d'annotations de Glide nécessite des dépendances sur les annotations de Glide et le processeur d'annotations :

compile 'com.github.bumptech.glide:annotations:4.8.0'

Ajouter une dépendance sur le processeur d'annotation de Glide :

repositories {
 mavenCentral()
 }

dependencies {
 annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}

1voto

Nhất Giang Points 6109

Importez les dernières Glide dépendances au fichier de grade.

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

Utilisez alors l'une de ces solutions :

Glide.with(thisActivity)
        .asGif()
        .load(R.raw.logo_gif_motion_low)
        .listener(object : RequestListener<GifDrawable> {
            override fun onResourceReady(resource: GifDrawable?, model: Any?, target: Target<GifDrawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
                // TODO: Process your gif drawable here
                return false
            }

            override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<GifDrawable>?, isFirstResource: Boolean): Boolean {
                return false
            }
        }).into(splashscreen)

o

Glide.with(thisActivity)
        .load(R.raw.logo_gif_motion_low)
        .listener(object : RequestListener<Drawable> {
            override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
                val gifDrawable = resource as GifDrawable?
                gifDrawable?.let {
                    // TODO: Process your gif drawable here
                }
                return false
            }

            override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
                return false
            }
        })
        .into(splashscreen)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X