Glide не разрешает его метод
Сегодня я пытаюсь использовать загрузчик изображений Glide
в своем приложении для Android, используя этот метод, с которым я столкнулся, и не разрешающий проблему.
Glide
.with(this)
.load(R.drawable.image_default_profile_picture)
.into(mUserImage);
Этот код работает очень хорошо. Но когда я пытаюсь это сделать
Glide
.with(this)
.load(R.drawable.image_default_profile_picture)
.placeholder(R.mipmap.ic_launcher)
.fitCenter()
.into(mUserImage);
Тогда это высказывание не может разрешить метод fitCenter()
, placeholder
.
Что мне не хватает?
Ответы
Ответ 1
Кажется, что в обновленной библиотеке есть какие-то проблемы. Добавьте .apply(new RequestOptions()
, чтобы продолжить работу с последней версией.
CODE
Glide
.with(this)
.load(R.drawable.image_default_profile_picture)
.apply(new RequestOptions()
.placeholder(R.mipmap.ic_launcher)
.fitCenter()
.into(mUserImage);
Ответ 2
Вы все еще можете использовать .placeholder()
с последней версией Glide, вам просто нужно добавить ее как прикладную RequestOption
в цепочке методов, т.е.
Glide.with(this)
.load(floorplanUrl)
.apply(new RequestOptions()
.placeholder(R.drawable.floorplan_unavailable))
.into(floorplanImageView);
Ответ 3
Если вы используете зависимости пакета Glide compile 'com.github.bumptech.glide:glide:3.7.0'
, чем использование ниже кода
Glide
.with(your_context)
.load(image_url)
.centerCrop()
.placeholder(R.drawable.image_loading)
.error(R.drawable.image_error)
.into(imageView);
Примечание: Как в doc Круговые фотографии: CircleImageView/CircularImageView/RoundedImageView являются Известные проблемы с TransitionDrawable (.crossFade() с .thumbnail() или .placeholder()) и анимированные GIF файлы, используйте BitmapTransformation (.circleCrop() будет доступно в версии 4) или .dontAnimate(), чтобы устранить проблему.
Последняя версия обновления compile 'com.github.bumptech.glide:glide:4.1.1'
или выше, чем использование ниже кода
Glide.with(your_context)
.load(url)
.apply(new RequestOptions()
.placeholder(R.mipmap.ic_loading_image)
.centerCrop()
.dontAnimate()
.dontTransform())
.into(imageView);
Если вы хотите загрузить GIF File
в Glide
с помощью compile 'com.github.bumptech.glide:glide:3.7.0'
, чем использовать метод .asGif()
после .load()
Glide
.with(your_context)
.load(image_url)
.asGif()
.into(imageView);
Если вы используете compile 'com.github.bumptech.glide:glide:4.1.1'
или более высокие (последние) зависимости, чем,
Glide
.with(your_context)
.asGif()
.load(image_url)
.into(imageView);
Примечание.. Если вы используете glide:glide:4.1.1
или более высокую версию, чем нет необходимости использовать метод .asGif() для загрузки файла GIF
, он будет загрузить GIF File
автоматически
См. последнюю версию glide, исправления ошибок, функции
Ответ 4
Для использования fitCenter()
и других изменений типа шкалы с версией Glide, начиная с версии 4.0, вам нужно включить специальный класс в ваше приложение.
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
}
После этого перестройте проект, и вы можете начать использовать Glide таким образом
GlideApp.with(imageView)
.load("...")
.fitCenter()
.into(imageView);
Документация
Ответ 5
Если вы все еще хотите использовать новейшую библиотеку 'com.github.bumptech.glide:glide:4.0.0-RC1'
, Официальная страница Github предлагает следующее:
Круглые картинки: CircleImageView/CircularImageView/RoundedImageView - это Известно, что есть проблемы с TransitionDrawable (.crossFade() с .thumbnail() или .placeholder()) и анимированные GIF файлы, используйте BitmapTransformation (.circleCrop() будет доступно в версии 4) или .dontAnimate(), чтобы устранить проблему.
В противном случае используйте следующую версию библиотеки:
compile 'com.github.bumptech.glide:glide:3.7.0'
Ответ 6
скомпилируйте эту библиотеку: -
compile 'com.github.bumptech.glide:glide:3.7.0'