Glide lost zijn methode niet op

Vandaag probeer ik de Glide-afbeeldingslader te gebruiken in mijn Android-applicatie terwijl ik deze methode gebruikte die het probleem niet oploste.

Glide
     .with(this)
     .load(R.drawable.image_default_profile_picture)
     .into(mUserImage);

Deze code werkt redelijk goed. Maar als ik dit probeer

Glide
     .with(this)
     .load(R.drawable.image_default_profile_picture)
     .placeholder(R.mipmap.ic_launcher)
     .fitCenter()
     .into(mUserImage);

Dan kan dit gezegde de methode fitCenter(), placeholderniet oplossen.
Wat mis ik?


Antwoord 1, autoriteit 100%

Het lijkt erop dat de bijgewerkte bibliotheek een probleem heeft. Voeg .apply(new RequestOptions()toe om door te gaan met de nieuwste versie.

CODE

Glide
 .with(this)
 .load(R.drawable.image_default_profile_picture)
 .apply(new RequestOptions()
 .placeholder(R.mipmap.ic_launcher)
 .fitCenter())
 .into(mUserImage);

Antwoord 2, autoriteit 42%

Je kunt nog steeds .placeholder()gebruiken met de nieuwste versie van Glide, je hoeft het alleen maar toe te voegen als een toegepaste RequestOptionin de methodeketen, dat wil zeggen

Glide.with(this)
     .load(floorplanUrl)
     .apply(new RequestOptions()
           .placeholder(R.drawable.floorplan_unavailable))
     .into(floorplanImageView);

Antwoord 3, autoriteit 34%

Als je Glide-pakketafhankelijkheden gebruikt compile 'com.github.bumptech.glide:glide:3.7.0'dan gebruik je onderstaande code

Glide
    .with(your_context)
    .load(image_url)
    .centerCrop()
    .placeholder(R.drawable.image_loading)
    .error(R.drawable.image_error)
    .into(imageView);

Opmerking:zoals in doc
Round Pictures: CircleImageView/CircularImageView/RoundedImageView are
waarvan bekend is dat ze problemen hebben met TransitionDrawable (.crossFade() met
.thumbnail() of .placeholder()) en geanimeerde GIF’s, gebruik a
BitmapTransformation (.circleCrop() zal beschikbaar zijn in v4) of
.dontAnimate() om het probleem op te lossen.

Laatste updateversie compile 'com.github.bumptech.glide:glide:4.1.1'of hoger dan gebruik onderstaande code

Glide.with(your_context)
     .load(url)
     .apply(new RequestOptions()
                .placeholder(R.mipmap.ic_loading_image)
                .centerCrop()
                .dontAnimate()
                .dontTransform())
                .into(imageView);

Als je het GIF Filewilt laden in Glidemet behulp van compile 'com.github.bumptech.glide:glide:3.7.0'gebruik dan de .asGif()methode na .load()

Glide
    .with(your_context)
    .load(image_url)
    .asGif()
    .into(imageView);

Als u compile 'com.github.bumptech.glide:glide:4.1.1'of hoger (laatste) afhankelijkheden gebruikt dan,

Glide
    .with(your_context)
    .asGif()
    .load(image_url)
    .into(imageView);

Opmerking:Als u glide:glide:4.1.1of een hogere versie gebruikt, is het niet nodig om de .asGif()-methode te gebruiken om het GIF-bestand te laden, zal het:
laad GIF Fileautomatisch

Zie de nieuwste versie van glide, bugfixes, functies


Antwoord 4, autoriteit 14%

Voor het gebruik van fitCenter()en andere wijzigingen van het schaaltype met de Glide-versie vanaf v4.0, moet u een speciale klasse in uw app opnemen.

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
}

Daarna herbouw je het project en kun je Glide op die manier gaan gebruiken

GlideApp.with(imageView)
    .load("...")
    .fitCenter()
    .into(imageView);

Documentatie


Antwoord 5, autoriteit 4%

Glide-versie: 4.8.0

Glide.with(this)
        .load("https://media.giphy.com/media/98uBZTzlXMhkk/giphy.gif")
        .apply(new RequestOptions()
                .placeholder(R.drawable.placeholder)
                .error(R.drawable.error)
                .centerCrop()
                .fitCenter())
        .into(imageView);

Antwoord 6

Als je nog steeds de nieuwste bibliotheek 'com.github.bumptech.glide:glide:4.0.0-RC1'wilt gebruiken, De officiële Github-paginasuggereert het volgende:

Ronde afbeeldingen: CircleImageView/CircularImageView/RoundedImageView are
waarvan bekend is dat het problemen heeft met TransitionDrawable (.crossFade()met
.thumbnail() of .placeholder()) en geanimeerde GIF’s, gebruik a
BitmapTransformation (.circleCrop()zal beschikbaar zijn in v4) of
.dontAnimate()om het probleem op te lossen.

Gebruik anders de volgende bibliotheekversie:

compile 'com.github.bumptech.glide:glide:3.7.0'

Antwoord 7

compileer deze bibliotheek:-

compile 'com.github.bumptech.glide:glide:3.7.0'

Other episodes