Glide: laden drawable aber nicht Maßstab Platzhalter
Gibt es einen Weg, um zu verwenden, Gleiten, weisen Sie einen Platzhalter, aber halten Sie das Bild auf Originalgröße skalieren?
Ich habe eine ImageView
mit variabler Größe (abhängig von den eingehenden Bild), die ich vor dem Aufruf Glide.with().load().into()
und ich wollen ein Platzhalter, für die es aber nicht wollen, dass der PH-Wert angepasst, um die Größe der ImageView
, ich will es zu halten seine ursprüngliche Größe.
Bisher konnte ich nicht einen Weg finden, dies zu tun.
InformationsquelleAutor der Frage Fernando | 2015-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Re: Gregs Kommentar:
Ich gab es einen weiteren Schuss (mit fast einem Jahr extra-XP) und kam mit dieser:
ähnlich wie meine andere Lösung und die folgende animation-wrapper:
Triviale Teile der Implementierungen angegeben werden, wird jede Klasse einen Konstruktor initialisiert die Felder von Argumenten. Vollständigen code, verfügbar auf GitHub in TWiStErRob/glide-Unterstützung.
Wenn Sie stecken in einer älteren version von Glide (vor 3.8.0), der gleiche Effekt kann erreicht werden durch:
Beachten Sie, wie die beiden Lösungen erfordern die gleiche Anzahl von Klassen, aber die post-3.8.0-Lösung hat eine bessere Trennung von Bedenken, und es kann zwischengespeichert werden, in einer variable zu verhindern, dass Zuweisungen.
InformationsquelleAutor der Antwort TWiStErRob
Gibt es eine bekannt Glide Ausgabe der Platzhalter verzerren geladenen Bilder und Umgekehrt. Aber ich denke, Sie sind davon nicht betroffen.
Es klingt wie das, was Sie wollen, ist zu zeigen, die Platzhalter drawable mit
scaleType="center"
und Sie wollen das geladene Bild zuscaleType="fitCenter"
. Hier ist, wie man Ausdrücken, dass in Glide. Hinzufügenandroid:scaleType="center"
im XML und verwenden Sie die folgenden Glide Last line:Der trick ist, dass der Platzhalter wird über
setImageDrawable()
so die Bildansicht wird nur die Anzeige wie gewohnt, aber Sie sagen Glide zu verwenden, dieFitCenter
explizit, was genau das geladene Bild schön in der Bildansicht angeordnet ist Größe über eine Transformation und dann legen Sie es übersetImageDrawable()
. Da die montierten Bild ist eine perfekte Passform,center
wird, ziehen Sie einfach das Bild für den gesamten Bereich der Ansicht.Können Sie auch
.centerCrop()
auf die gleiche Weise.Wenn etwas falsch ist, können Sie versuchen
.asBitmap()
und.dontAnimate()
helfen Sie die meiste Zeit in der einen oder anderen Weise.InformationsquelleAutor der Antwort TWiStErRob
Mache ich es wie unten erwähnt:
Die Idee ist, um die Skala zu geben, wie Sie durch den Platzhalter zunächst & attach listener um den Maßstab zu ändern geben Sie wieder, wie Sie durch die heruntergeladene Bild, nach der das Bild heruntergeladen wird.
Mein übergang drawable (R. drawable.anim_image_placeholder) :
(nicht erforderlich, wenn die Verwendung einer statischen Bild)
InformationsquelleAutor der Antwort Swas_99