Glide does not resolve its method

AndroidAndroid Glide

Android Problem Overview


Today I'm trying to use Glide image loader in my android application while using this I had facing method not resolving problem.

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

This code working pretty fine. But when I'm trying this

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

Then this saying cannot resolve method fitCenter(), placeholder. What I am missing?

Android Solutions


Solution 1 - Android

Seems like updated library has any issue. Add .apply(new RequestOptions() to continue with latest version.

CODE

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

Solution 2 - Android

You can still use .placeholder() with the latest version of Glide, you just have to add it as an applied RequestOption in the method chain, i.e.

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

Solution 3 - Android

If you use Glide package dependences compile 'com.github.bumptech.glide:glide:3.7.0' than use below code

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

> Note: As in doc > Round Pictures: CircleImageView/CircularImageView/RoundedImageView are > known to have issues with TransitionDrawable (.crossFade() with > .thumbnail() or .placeholder()) and animated GIFs, use a > BitmapTransformation (.circleCrop() will be available in v4) or > .dontAnimate() to fix the issue.

Latest update version compile 'com.github.bumptech.glide:glide:4.1.1' or above than use below code

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

If you want to load GIF File in to Glide with using compile 'com.github.bumptech.glide:glide:3.7.0' than use .asGif() method after .load()

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

If you use compile 'com.github.bumptech.glide:glide:4.1.1' or higher(latest) dependences than,

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

> Note: If you are useing glide:glide:4.1.1 or higher version than not necessary to use .asGif() method to load GIF file it will > load GIF File automatically > > > See Latest version of glide, Bug fixes, Features

Solution 4 - Android

For using fitCenter() and other scale type changes with the Glide version starting from v4.0, you need include special class in your app.

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public class MyAppGlideModule extends AppGlideModule {
}

After that rebuild the project, and you can start using Glide on that manner

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

Documentation

Solution 5 - Android

Glide version: 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);

Solution 6 - Android

If you still want to use the newest library 'com.github.bumptech.glide:glide:4.0.0-RC1', The official Github page suggests the following:

> Round Pictures: CircleImageView/CircularImageView/RoundedImageView are > known to have issues with TransitionDrawable (.crossFade() with > .thumbnail() or .placeholder()) and animated GIFs, use a > BitmapTransformation (.circleCrop() will be available in v4) or > .dontAnimate() to fix the issue.

Otherwise use the following library version:

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

Solution 7 - Android

compile this library:-

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser3528954View Question on Stackoverflow
Solution 1 - AndroidPEHLAJView Answer on Stackoverflow
Solution 2 - AndroidJames Jordan TaylorView Answer on Stackoverflow
Solution 3 - AndroidND1010_View Answer on Stackoverflow
Solution 4 - AndroidAiron TarkView Answer on Stackoverflow
Solution 5 - AndroidduyuanchaoView Answer on Stackoverflow
Solution 6 - AndroidDarushView Answer on Stackoverflow
Solution 7 - AndroidV.N.GView Answer on Stackoverflow