Glide no cargando imagen real y pegado con marcador de posición

Tengo una imagen bastante básica de la carga del código de la línea del servidor:

Glide.with(view.getContext()).load(url).placeholder(R.drawable.default_profile).into(view);

Por alguna razón, siempre estoy atascado con el marcador de posición que se muestra y nunca la imagen real!

Me he asegurado de que se esté pasando una URL válida y de trabajo. Y, si utilizo el mismo código sin el marcador de posición funciona bien

Glide.with(view.getContext()).load(url).into(view);

¿Alguna idea por qué?

Intenta agregar .dontAnimate() También causó por TransitionDrawable y parece que así que después de scroll no hay animación porque está en caché. El código correcto es

 Glide.with(view.getContext()).load(url).placeholder(R.drawable.default_profile).dontAnimate().into(view); 

Espero ser útil para usted

Compruebe si ha agregado permiso de Internet en el manifiesto:

 <uses-permission android:name="android.permission.INTERNET"/> 

Glide no dispara una excepción si no hay conexión a Internet.

Utilice ProgressBar como carga gif

 Glide.with(context). load(url) .listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { progressBar.setVisibility(View.GONE); return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { progressBar.setVisibility(View.GONE); return false; } }) .crossFade(1000) .into(imageView); 

Parece extraño, pero la única cosa que podría adivinar es su URL es válida como ya lo dijo. El control remoto se descarga incluso se aplica en la vista de imagen, pero su marcador de posición es de alguna manera ocultarlo. Glide tiene algunos errores relacionados con las cosas reservadas.

Mi sugerencia sería probar a continuación:

 Glide.with(view.getContext()).load(url). placeholder(R.drawable.default_profile).fitCenter().into(view); 

Así que el truco es el marcador de posición se establece a través de setImageDrawable() para que el ImageView sólo se mostrará como de costumbre, pero le dice a Glide para utilizar el fitCenter explícitamente que se ajuste a la imagen cargada muy bien dentro de la ImageView 's establecido el tamaño a través de una transformación y luego setImageDrawable() través de setImageDrawable() . Dado que la imagen ajustada es un ajuste perfecto, el centro sólo dibujará la imagen que cubra todo el área de la vista.

Darle una oportunidad.

Si alguien se encuentra con esto en el futuro puede que tenga que agregar

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

No estoy seguro de la razón exacta de este cambio, sin embargo mi código no funcionó sin ese permiso, y ahora lo hace con él.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.