2016-05-26 1 views
0

J'utilise Glide dans mon application pour charger des images à partir du serveur. Les images sont affichées dans ViewPager. Je suis confronté à un problème étrange. Lorsque l'image est chargée pour la première fois, elle s'affiche comme suit: enter image description hereProblème étrange avec le chargement de l'image à partir de l'imageview

Mais lorsque je fais défiler les pages et que je retourne à l'original, l'image s'affiche correctement. enter image description here

Je ne comprends pas pourquoi cela se produit. J'ai réglé la hauteur du téléavertisseur à 140dp. Le xml pour adaptateur viewpager est la suivante:

<?xml version="1.0" encoding="utf-8"?> 
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/main_banner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:scaleType="centerInside" 
android:background="@drawable/car_bg" 
tools:ignore="ContentDescription" /> 

code pour charger l'image depuis l'URL:

Glide.with(ctx).load(banner.getImgScrollBanner()).placeholder(R.drawable.loading_spinner).error(R.drawable.car_bg).into(bannerView); 
+0

Essayez scaleType non sûr. – Nisarg

+0

Essayez de supprimer 'android: scaleType =" centerInside "' et ajoutez 'android: adjustViewBounds =" true "' une fois, –

+0

@ShreeKrishna J'ai essayé toujours face au même problème – Nitish

Répondre

0

Réglez le scaleType sur les Glide Options:

v3:

Glide.with(ctx).load(banner.getImgScrollBanner()).centerInside().placeholder(R.drawable.loading_spinner).error(R.drawable.car_bg).into(bannerView); 

v4:

Glide.with(ctx) 
    .apply(new RequestOptions() 
       .centerCrop() 
       .placeholder(R.drawable.loading_spinner) 
       .error(R.drawable.car_bg)) 
    .load(banner.getImgScrollBanner()) 
    .into(bannerView);