Posterior a de una extensa búsqueda de datos pudimos resolver esta pregunta que suelen tener ciertos de nuestros usuarios. Te ofrecemos la respuesta y nuestro objetivo es servirte de gran ayuda.
Solución:
Finalmente, encontré mi respuesta aquí.
Que he hecho :
Paso 1
Creé una clase vacía llamada GlideApp
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class GlideApp extends AppGlideModule
Nota: No olvides agregar una anotación @GlideModule
.
Paso 2
Después de eso, construyo/reconstruyo el proyecto y luego, lo reemplacé Glide
con GlideApp
.y ahora no hay necesidad de usar RequestOptions
.
public class CustomBindingAdapter
@BindingAdapter("bind:image_url")
public static void loadImage(ImageView imageView, String url)
// RequestOptions requestOptions = new RequestOptions();
// requestOptions=requestOptions.placeholder(R.drawable.boy_32);
GlideApp.with(imageView.getContext())
.load(url)
.placeholder(R.drawable.boy_32)
.into(imageView);
// Glide.with(imageView.getContext())
// .load(url)
// .apply(requestOptions)
// .into(imageView);
Editar:
Para androidx y Glide versión 4.9.0:
En gradle.build de mi aplicación:
implementation ("com.github.bumptech.glide:glide:4.9.0")
exclude group: "com.android.support"
annotationProcessor 'androidx.annotation:annotation:1.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation ("com.github.bumptech.glide:glide:[email protected]")
transitive = true
En mi gradle.properties:
android.enableJetifier=true
android.useAndroidX=true
Eso es todo.
Solución Kotlin:
Asegúrese de agregar lo siguiente en su archivo gradle (reemplace annotationProcessor con fuente kapt):
repositories
mavenCentral()
google()
dependencies
implementation 'com.github.bumptech.glide:glide:4.8.0'
kapt 'com.github.bumptech.glide:compiler:4.8.0'
Agregar AppGlideModule implementación en su aplicación GlideSource (puede anular los métodos predeterminados overrideSource):
import android.content.Context
import com.bumptech.glide.GlideBuilder
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.module.AppGlideModule
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.signature.ObjectKey
@GlideModule
class AppNameGlideModule : AppGlideModule()
override fun applyOptions(context: Context, builder: GlideBuilder)
super.applyOptions(context, builder)
builder.apply RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL).signature(ObjectKey(System.currentTimeMillis().toShort()))
Mientras usa deslizamiento, use GlideApp en vez de Planeoejemplo:
GlideApp.with(context)
.load(url)
.into(imageView)
Me he enfrentado a este problema con Glide:4.9.0
con AndroidX
lo solucione asi
En tu gradle.propertiesandroid.useAndroidX = true
android.enableJetifier=true
En tu build.gradle//Glide dependency
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
Luego agrega tu CustomGlideModule
@GlideModule
public class CustomeGlideModule extends AppGlideModule
El paso final genera el GlideModule
Construir >> hacer proyecto y debería ver el módulo generado en su carpeta de compilación
Si te gusta la informática, puedes dejar un enunciado acerca de qué le añadirías a esta sección.