Ich versuche, den Fortschrittsbalken nach dem Laden des Bildes mit Glide.But Glide.listener() funktioniert nicht zu verstecken.Finden Sie die Codes unten.Glide Listener arbeitet nicht um Fortschrittsbalken nach dem Laden von Bild zu verbergen
@BindingAdapter({
"bind:url"
})
public void setImage(ImageView imageView, String url) {
if (url != null && url.trim().length() > 0) {
Glide.with(imageView.getContext()).load("http://" + url)
.override(200, 150)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
bindFamilyMembers.imagebar.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
bindFamilyMembers.imagebar.setVisibility(View.GONE);
return false;
}
})
.placeholder(R.drawable.bg_theme)
.error(R.drawable.bg_theme)
.into(imageView);
// Picasso.with(imageView.getContext()).load("http://" + url).resize(200, 150).error(R.drawable.ic_launcher_background).into(imageView);
} else {
}
}
das Layout dieser Code wird below.Im mit Datenbindung Sichtbarkeit in meiner app .i versucht haben, zu setzen, wie Gegangen mit Datenbindung, aber es funktioniert nicht.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="familyhandler"
type="com.estuate.smartfoam.dashboard.model.apiuser.FamilyMembers" />
</data>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/rel"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.estuate.smartfoam.util.CircularImageView
android:id="@+id/member_image"
android:layout_width="120dp"
android:layout_marginTop="@dimen/linear_margin_10"
android:layout_height="100dp"
app:url="@{familyhandler.image}" />
<ImageView
android:id="@+id/border"
android:layout_width="120dp"
android:layout_height="120dp"
android:visibility="gone"
android:background="@drawable/circular_img_selected" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{familyhandler.fullname}"
android:textColor="@color/blackColor"
android:textAllCaps="true"
android:layout_below="@id/member_image"
android:textSize="@dimen/text_size_16"
tools:text="Name"
android:layout_centerHorizontal="true" />
<ProgressBar
android:id="@+id/imagebar"
android:layout_width="35dp"
android:layout_height="35dp"
android:background="@xml/progress"
android:visibility="visible"
android:layout_centerInParent="true" />
</RelativeLayout>
<ImageView
android:id="@+id/adding_view"
android:layout_width="110dp"
android:layout_height="100dp"
android:layout_marginTop="@dimen/linear_margin_15"
android:visibility="gone"
android:src="@drawable/ic_add_material"
android:background="@drawable/circular_add" />
</LinearLayout>
</layout>
Ich habe Glide verwendet image.but nicht in der Lage zu analysieren, um den Fortschritt zu stoppen bar.can Sie mir helfen, dieses Problem zu beheben.
@Override public boolean onResourceReady (Bitmap-Ressource, String-Modell, Target Ziel, boolean isFromMemoryCache, boolean isFirstResource) { holder.progressBar.setVisibility (View.GONE); halter.imageView.invalidate(); // diese Zeile hinzufügen return false; } –