Der Übergang von freigegebenen Elementen scheint nicht zu funktionieren.
Getestet in einem Motorola-Gerät mit Android 5.0
Können Sie uns nähere Angaben machen? Was genau haben Sie versucht und was ist stattdessen passiert?
In der neuen Android-Version Lollipop können wir eine ImageView als gemeinsamen Elementübergang zwischen Aktivitäten verwenden. In diesem Fall geht das Bild sanft von einer Aktivität zur nächsten über. Wenn Sie SimpleDraweeView verwenden, verschwindet es einfach.
Der Code zum Testen sollte in etwa so aussehen:
Thema der App:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
</style>
Aktivität1 Layout.xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/image"
android:layout_width="@dimen/size_1"
android:layout_height="@dimen/size_1"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"/>
</RelativeLayout>
Aktivität2 Layout.xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/image"
android:layout_width="@dimen/size_2"
android:layout_height="@dimen/size_2"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:transitionName="image_transition"/>
</RelativeLayout>
Der Code zum Starten der zweiten Aktivität:
Intent intent = new Intent(activity1, Activity2.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(activity1, simpleDraweeView1, "image_transition");
activity1.startActivity(intent, options.toBundle());
Dieser Code sollte einen Übergang zwischen den Aktivitäten herstellen, bei denen das Bild von der oberen linken Ecke der Aktivität 1 zur unteren rechten Ecke der Aktivität 2 verschoben und skaliert wird. Ich habe einen ähnlichen Code getestet, der Bilder aus dem Netzwerk geladen hat und er nicht angezeigt wird die Animation.
Ich denke, das ist auch realted https://github.com/facebook/fresco/issues/99
Ich vermute, dass dies mit Attach/Detach-Ereignissen zu tun hat, die View beim Übergang erhält. Das müssen wir untersuchen.
Auch das kann ich bestätigen. Übergänge von geteilten Elementen scheinen auf Fresco unterbrochen zu sein. Es wäre großartig, wenn wir dies beheben könnten, da dies ein sehr wichtiges Feature für die Zukunft ist.
Ist mir auch passiert. Beim Festlegen von transitionName xml attr auf SimpleDraweeView funktioniert die Methode setImageUri() nicht mehr
Irgendwelche Updates dazu?
Nachdem das FadeDrawable das Realbild animiert hat, gibt es ein Protokoll:
com.facebook.samples.comparison D/ViewRootImpl﹕ changeCanvasOpacity: opaque=false
Vielleicht führt die changeCanvasOpacity dazu, dass das Bild nicht gezeichnet wird.
Ist der Fehler behoben? Es ist auch für mein Projekt sehr wichtig. :)
Paket org.goodev.droidddle.drawee;
import com.facebook.drawee.generic.GenericDraweeHierarchy;
import com.facebook.drawee.view.SimpleDraweeView;
android.content.Context importieren;
android.graphics.Matrix importieren;
import android.util.AttributeSet;
public class TranslateDraweeView erweitert SimpleDraweeView {
public TranslateDraweeView(Kontextkontext) {
super(Kontext);
}
public TranslateDraweeView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TranslateDraweeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public TranslateDraweeView(Context context, GenericDraweeHierarchy hierarchy) {
super(context, hierarchy);
}
// looks like overwrite this method can fix this issue
// but still don't figure out why
public void animateTransform(Matrix matrix) {
invalidate();
}
}
@goodev Es gibt keine solche Methode zum Überschreiben.
@shumin0809 fügen Ausblenden für den Übergang.
Ich sehe ein anderes, aber immer noch fehlerhaftes Verhalten bei SharedElementTransitions. Ich weiß nicht, ob es sich um dasselbe, verwandte oder separate Problem handelt.
_Reproduktion _
Ziemlich Standard-Setup für einen SharedElementTransition:
_Erwartet _
Wie bei normalen ImageViews (sofern scaleType-Übereinstimmungen vorausgesetzt), nahtlose Animation von gemeinsam genutzten Ressourcen zwischen Fragmenten
_Beobachtet _
SharedElementTransition tritt auf, aber es gibt ein Flackern, bevor das Zielbild angezeigt wird (scheint, dass das Zielbild nicht früh genug eingestellt ist)
_Notizen _
Ich habe versucht, Bilder vom Web und von der Festplatte zu laden, und das Bild wird geladen und im Cache gespeichert, bevor der Übergang gestartet wird. Der Code des Zielfragments zieht genau die gleiche uri. Ich habe herumgefummelt und versucht, die Pipeline direkt zu verwenden (und viel gelernt), aber das Ergebnis konnte nicht beeinflusst werden.
_Einrichtung _
Geräte: Nexus 5 & Nexus 7 (2013), beide mit Android 5.1.1 (API 22)
Aktuelle Bibliothek und Tools: Fresco (0.5.0), Android Studio (1.3 Preview 3 EAP.0), compilSdk (22), Build-Tools (22.0.1)
_Realisierungen _
Beim Schreiben dieses Beitrags sind mir 2 Dinge aufgefallen, die relevant sein könnten:
@jorgemf - https://developer.android.com/training/material/animations.html
_Starten Sie eine Aktivität mit einem geteilten Element _
...
4 - Weisen Sie den freigegebenen Elementen in beiden Layouts mit dem Attribut android:transitionName einen gemeinsamen Namen zu.
Für mein Problem kann es nur sein, dass ich den Übergang verschieben muss. Ich schau mir das heute mal an:
http://www.androiddesignpatterns.com/2015/03/activity-postponed-shared-element-transitions-part3b.html
Ich habe das gleiche Problem. Ich benutze Fresco 0.5.3 und SimpleDraweeView lade das Bild nicht mit attr " android:transitionName ". Kennt jemand eine andere Lösung mit Fresco?
@jorgemf Wenn Sie in Ihrer Activity1 Layout.xml "android-background" einstellen, funktioniert es nicht perfekt, aber es funktioniert.
Ich habe es in meinem Test gesetzt: android:background= "@ android:color/transparent "
@LuizGadao Wenn Sie einen Hintergrund festlegen, verlieren Sie alle Vorteile der Bibliothek. Ich denke, es ist sinnlos, da Sie es für Bilder aus dem Internet wünschen. Nicht für statische Ressourcen als Hintergrund.
Nachdem ich einige Bibliotheken getestet habe, funktioniert Picasso bei mir einwandfrei. Überhaupt keine Probleme.
@jorgemf da stimme ich dir zu. Es ist nur ein Hack, damit es funktioniert.
Gibt es Neuigkeiten zu diesem?
@LuizGadao können Sie ein Beispiel für Ihre XML-
Vielen Dank, dass Sie dieses Problem gemeldet haben, und danken Ihnen für Ihre Geduld. Wir haben das Kernteam benachrichtigt, um ein Update zu diesem Problem zu erhalten. Wir suchen innerhalb der nächsten 30 Tage nach einer Antwort oder das Problem kann geschlossen werden.
Gibt es Neuigkeiten zu diesem?
PS:
TranslateDraweeView von @goodev funktioniert auf einigen Geräten wie XiaoMi2, HuaWei P8 nicht richtig. ReenterTransition startet an falscher Position.
Wie Boxcounter sagte, funktioniert Tra slateDraweeView auch nicht auf dem HTC One M8
Wenn Sie ChangeImageTransform Transition verwenden, schlägt der Übergang des Share-Elements meiner Meinung nach fehl, da ChangeImageTransform die Matrix von ImageView animiert, die meiner Meinung nach nicht standardmäßig DraweeView unterstützt.
Das Problem, das mir begegnet ist, ist, dass das freigegebene Element mit "fitCenter" beginnt, während es ursprünglich "centerCrop" war.
Das Projekt kann das Problem reproduzieren
https://github.com/JackFan-Z/ActivitySharedElementTransition.git
Obwohl ich einen Workaround hinzugefügt habe
Bei meinem anderen privaten Projekt mit Fresko funktioniert es nicht.
Könnte jemand herausfinden, wo das eigentliche Problem liegt?
Falscher Startzustand des Übergangs
Vor dem Übergang
@JackFan-Z
Share-Element im Übergang setzt die endgültige Ansicht auf die Anfangswerte und animiert sie auf die endgültigen Werte.
Normales ImageView in Kombination mit ChangeImageTransform
erfasst die Start- und Endwerte der Bildmatrix und animiert dann die Bildmatrixänderung.
DraweeView
überschreibt jedoch bestimmte Funktionen im Zusammenhang mit der Bildmatrix, sodass ChangeImageTransform
keine Auswirkungen auf das Bild hat.
Am Ende wird also nur ChangeBounds wirksam.
Derzeit habe ich keine Möglichkeit gefunden, die Bildmatrix von DraweeView zu manipulieren. Sogar setActualImageMatrix
wurde als veraltet markiert. Angenommen, es ist nicht veraltet und funktioniert genau wie das Standard- setImageMatrix
von Standard-ImageView. Trotzdem ist es nicht sehr bequem, die Änderung zu animieren, da Sie keine Möglichkeit haben, die Matrix zu ändern, nachdem Sie DraweeViewHierarchy
. Sie müssen also DraweeViewHierarchy
jedem onAnimationUpdate
Aufruf ein neues DraweeViewHierarchy
erstellen.
Ich weiß nicht, warum DraweeView auf diese Weise implementiert wird. Und ich denke, die derzeit mögliche Lösung besteht darin, die zugrunde liegende Bitmap zurückzubekommen und eine andere ImageView zu erstellen, um den ChangeImageTransform
Übergang durchzuführen.
@seifenzeichen
Vielen Dank für Ihren Kommentar.
Tatsächlich habe ich in meinem privaten Projekt versucht, eine Dummy-ImageView zu erstellen, die dieselbe Bitmap wie das freigegebene Element verwendet. Das Problem besteht weiterhin.
Ich bin mir nicht sicher, ob das Problem, mit dem ich konfrontiert bin, mit Fresken zusammenhängt oder nicht.
Aber es ist sicher, dass ich das gleiche Problem mit SimpleDraweeView problemlos reproduzieren kann.
Das ChangeImageTransform
verwendet die intrinsischen Dimensionen, um die Transformationsmatrix zu bestimmen. Unsere Implementierung von DraweeView
verwendet ein DraweeHierarchy
mit intrinsischen Dimensionen von -1 für width
und height
. Dies liegt daran, dass Drawee
bereits die richtige Skalierungstypskalierung anwendet und daher keine Ansicht dafür erforderlich ist. Außerdem kann ImageView
nur einen Maßstabstyp anwenden, während die zeichenbare Hierarchie separate Maßstabstypen für jeden Bildzweig verwenden kann (Platzhalter, Fehlerbild, tatsächliches Bild usw.). Das Zurückgeben tatsächlicher intrinsischer Dimensionen an die Ansicht birgt das Risiko von Größenfehlern.
Wenn Sie möchten, dass der Übergang funktioniert, sollten Sie ChangeBounds
.
Wie wäre es, eine neue Option wie " fresco:ImageMatrixSrc=actual "
@boxcounter Im Moment denken wir, was wir jetzt haben, ist in Ordnung. Aber Sie könnten einen Pull-Request für Ihren Vorschlag erstellen :)
@massimocarli ChangeBounds funktioniert nur gut, wenn das freigegebene Bild bei beiden Aktivitäten/Ansichten dieselbe Größe hat. Wenn das Bild jedoch während des Übergangs in der Größe geändert werden soll, wird es beschnitten und sieht schlecht aus.
Was schlagen Sie auf diese Weise vor? ChangeImageTransform löst dies, aber es funktioniert nicht in DraweeView.
Hier gilt das gleiche...
@massimocarli ChangeBounds ist nicht gut genug.
Das versuche ich zu erreichen (hier wird ImageView verwendet): https://gfycat.com/HideousEarlyAndalusianhorse
So sieht es mit SimpleDraweeView aus: https://gfycat.com/PracticalCorruptGrouper
Beachten Sie, dass das Originalbild hinter dem animierten Bild falsch skaliert wird.
So sieht es nur mit ChangeBounds als Transition aus: https://gfycat.com/SorrowfulExemplaryAntlion
Hey Leute, ich habe das gleiche Problem. ChangeBounds funktioniert nicht reibungslos. Wenn es einen Workaround oder eine Lösung gibt, teilen Sie uns dies bitte mit. Der Übergang von gemeinsamen Elementen ist eines der besten Dinge, die Materialdesign eingeführt hat, und Fresco ist eine der besten Bibliotheken, die ich bisher verwendet habe. Bitte lassen Sie die Entwickler beide nahtlos verwenden.
Hat jemand eine Problemumgehung finden können, da Fresco dies nicht behebt?
Hier ist der Workaround, den ich verwende, der gut funktioniert:
https://github.com/bumptech/glide
Hallo zusammen,
Die ChangeBounds-Methode selbst reicht nicht aus und ich bin erstaunt über die Antwort von Facebook, dass der aktuelle Zustand der Übergänge von geteilten Elementen in Ordnung ist.
Ich habe endlich eine einfache Lösung gefunden, die bei einem Beispielprojekt für mich zu funktionieren scheint.
Da der ChangeBounds-Übergang das Layout selbst nicht über onMeasure() aktualisiert, sondern über onSizeChanged(), der derzeit von keiner Drawee-Ansicht überschrieben wird, wird der Maßstab des Drawables während des Übergangs nie aktualisiert.
Hier ist unser CustomDraweeView, der das TopLevelDrawable während des Übergangs aktualisiert:
public class CustomDraweeView extends SimpleDraweeView {
public CustomDraweeView(Context context, GenericDraweeHierarchy hierarchy) {
super(context, hierarchy);
}
public CustomDraweeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
<strong i="10">@Override</strong>
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
Drawable drawable = getTopLevelDrawable();
if (drawable != null) {
drawable.setBounds(0, 0, w, h);
}
}
}
Hier ist die XML des Übergangssets, das Sie zum Aufblasen benötigen:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:duration="<strong i="14">@android</strong>:integer/config_mediumAnimTime"
android:transitionOrdering="together"
tools:targetApi="LOLLIPOP" >
<changeBounds
android:interpolator="<strong i="15">@android</strong>:interpolator/accelerate_decelerate"/>
<changeTransform
android:interpolator="<strong i="16">@android</strong>:interpolator/accelerate_decelerate"/>
</transitionSet>
Der einzige Nachteil, den ich bei dieser Methode habe, ist, wenn der Skalierungstyp der Drawables zwischen den Fragmenten oder den Aktivitäten nicht übereinstimmt, was Sie sowieso vermeiden sollten, wenn Sie Übergänge mit gemeinsam genutzten Elementen verwenden möchten.
@massimocarli @tyronen
Kann jemand bei Facebook einen Einblick geben, warum DraweeView diese Methode derzeit nicht überschreibt und welche möglichen Probleme mit dieser Änderung auftreten können? Wenn keine gefunden wird, erstelle ich gerne einen Pull-Request dafür.
Hallo zusammen! In der neuen Fresco-Version 0.10 mit benutzerdefinierter ScaleType-Transformation zwischen verschiedenen ScaleTypes ist dies trivial. Hier meine Umsetzung
https://gist.github.com/burzumrus/a589aa7e36ca003ddaf2334218c50ad0
Die Verwendung ist einfach
TransitionSet transitionSet = new TransitionSet();
transitionSet.addTransition(new ChangeBounds());
transitionSet.addTransition(new DraweeTransform(ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.FIT_CENTER));
getWindow().setSharedElementEnterTransition(transitionSet);
@burzumrus das ist unglaublich! Danke für die Umsetzung. Genau das hatte ich mit InterpolatingScaleType
im Sinn. Erwägen Sie, eine Pull-Anfrage für Fresco zu stellen, falls noch nicht geschehen.
@plamenko Ich verwende Fresko 0.12 und
getWindow().setSharedElementEnterTransition(DraweeTransition.createTransitionSet(
ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.CENTER_CROP));
getWindow().setSharedElementEnterTransition(DraweeTransition.createTransitionSet(
ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.CENTER_CROP));
Die Animation funktioniert einwandfrei. Aber bei der Rückkehr zur ersten Aktivität verschwindet das Bild
Hat jemand diese mit Fragment-zu-Fragment-Animationen versucht? Weil es auf v0.12 nicht zu funktionieren scheint.
Bearbeiten : Ist es möglich, dass der RecyclerView Probleme verursacht?
Bearbeiten 2 : Scheint, als ob das Problem darin besteht, dass ChangeBounds
selbst nur X- und Y-_window_-Koordinaten verwendet, wenn die Neuzuordnung auf true gesetzt ist. Die Einstellung über ChangeBounds
's setReparenting(true)
ist veraltet und stattdessen wird ChangeTransform
empfohlen. Für ein RecyclerView
ist also auch transitionSet.addTransition(new ChangeTransform());
erforderlich. (Die zurückkehrende Animation scheint immer noch schlecht zu sein, aber zumindest ist die Eingabeanimation in Ordnung ( außer dass der Skalentyp keine Auswirkung hat, indem man startValues.view
in endValues.view
in createAnimator(...)
ändert) mit Dies.)
@Gericop und @ladia12 0.12 funktionieren in meinem Projekt in Fragment-zu-Fragment-Animationen gut.
Ich verwende es auch in RecyclerView.
Die Sache ist, dass Sie nur die Fragmenttransaktion "ersetzen" verwenden können. Sie können die Transaktion "Hinzufügen" nicht verwenden.
Wenn es Ihnen helfen kann, hier ist ein Beispiel (ohne Fresko) für den Übergang von Fragment zu Fragment, das mir geholfen hat, mit etwas zu beginnen, das funktioniert hat (Sie können den Projektcode auf github herunterladen).
http://www.androidauthority.com/using-shared-element-transitions-activities-fragments-631996/
@sperochon Ich verwende replace und es ist in einem RecyclerView, aber es funktioniert nicht (und ehrlich gesagt ist es überraschend, dass es für Sie funktioniert, vielleicht verwenden Sie eine andere Version von RecyclerView? Ich verwende v24.1.1). Ich musste ein paar Änderungen vornehmen, damit die Animationen funktionieren:
ChangeTransform
zum Übergangssatz hinzugefügt über transitionSet.addTransition(new ChangeTransform());
ChangeBounds
falsche Position der Startansicht in einem RecyclerView
meldet (es gibt immer die X,Y-Koordinaten des ersten Elements zurück)createAnimator(...)
if (mFromScale == mToScale)
durch if(mFromScale == mToScale && startBounds.equals(endBounds))
ersetzencreateAnimator(...)
final GenericDraweeView draweeView = (GenericDraweeView) startValues.view;
durch final GenericDraweeView draweeView = (GenericDraweeView) endValues.view;
createAnimator(...)
ersetzen (beachten Sie die Änderung von startValues
-> endValues
)AnimatorUpdateListener
in scaleType.setValue(fraction)
Aufruf die folgenden Zeilen ein:Drawable drawable = draweeView.getTopLevelDrawable();
if (drawable != null) {
drawable.setBounds(0, 0, draweeView.getWidth(), draweeView.getHeight());
}
Dieses letzte Stück Code basiert auf der Lösung von @Aohayou (weil ich CustomDraweeView
nicht zum Laufen bringen konnte).
Getestet auf Android 5.0.2 mit Support-Lib-Version v24.1.1.
Beachten Sie, dass diese Lösung nicht funktioniert, wenn Sie zwischen Bildern mit derselben Größe animieren.
@Gericop Hier ist eine Demo, die gut funktioniert. Ich habe es gerade auf github übertragen. Ich habe versucht, den Code maximal zu bereinigen. Seien Sie vorsichtig: Ich habe in meiner Recycler-Ansicht nur 1 Bild verwendet, da der Übergangsname für jedes Element der Recycler-Ansicht unterschiedlich sein muss, damit Fresco funktioniert. Zur Vereinfachung habe ich also nur 1 Bild mit 1 Übergangsnamen verwendet.
https://github.com/sperochon/DemoFrescoFragment2Fragment
Ich hoffe das hilft!
@sperochon Versuchen Sie es mit mehreren Bildern.
Übrigens habe ich Ihre Demo mit unveränderter Quelle getestet. Dies ist das Ergebnis:
Dies ist völlig falsch. Die Endansicht beginnt an einer anderen Position und der Maßstabstyp hat keinerlei Auswirkungen. Ich weiß nicht, wie man dafür sagen kann, dass "es gut funktioniert", weil es eindeutig nicht funktioniert.
@Gericop Ich habe gerade den Code aktualisiert. Ich habe vergessen, ein anderes Layout für das Endfragment anzugeben. Versuch es bitte nocheinmal.
@sperochon Im API 23-Emulator funktioniert es
Der Punkt ist also: Die aktuelle Implementierung funktioniert nicht auf API 21 (hat es nicht auf API 22 getestet), funktioniert aber auf API 23.
Bearbeiten : Ihre Demo testet nur die standardmäßigen ChangeBounds
und ChangeTransform
Übergänge, nicht die DraweeTransition
Facebook bereitgestellte
Leider hast du Recht... Ich habe es auf meinen Geräten getestet:
Android 5.0 + Fresco v0.11/v0.12 -> KO
Android 6.0 + Fresco v0.11/v0.12 -> OK
Ist mir vorher nicht aufgefallen...
@Gericop @sperochon Ich habe dazu einen Blogbeitrag auf Medium geschrieben. Bitte sehen Sie, ob es hilft.
@ladia12 Dieser Beitrag hat nichts mit dem Problem zu tun, mit dem ich (wir) konfrontiert war ... Ihr Blogeintrag handelt von _inter- Activity _ Transition, während mein Problem mit _inter- Fragment _ zusammenhängt. Darüber hinaus liegt der eigentliche Fehler darin, wie API 21 die ChangeBounds
und/oder ChangeTransform
Übergänge handhabt, wobei die von Facebook bereitgestellten DraweeTransition
nicht helfen. Meine Lösung hingegen überwindet dies, wenn Quell- und Zielbild unterschiedliche Abmessungen (Breite und/oder Höhe) haben.
Nur zur Info:
Android 5.0 + Fresco v0.11/v0.12/0.13 -> KO
Android >= 5.1 + Fresco v0.11/0.12/0.13 -> OK
@ladia12 Wie haben Sie das Problem gelöst, dass das Originalbild verschwindet, wenn Sie zur ersten Aktivität zurückkehren?
@dbrant Ich habe das gleiche Problem. Haben Sie eine Lösung gefunden?
Siehe #1446
@ladia12 Wie haben Sie das Problem gelöst, dass das Originalbild verschwindet, wenn Sie zur ersten Aktivität zurückkehren?
@ladia12 Wie haben Sie das Problem gelöst, dass das Originalbild verschwindet, wenn Sie zur ersten Aktivität zurückkehren? Mein Originalbild befindet sich im Viewholder von recyclerview
Am Ende habe ich Picasso für den gemeinsamen Elementübergang verwendet. Es war nicht behoben
im Fresko. Picasso ist also leicht und es gibt keine Probleme, ihn zu benutzen
zusammen mit Fresko.
Am Mittwoch, den 19. Juni 2019 um 17:11 Uhr schrieb bembem1011 [email protected] :
@ladia12 https://github.com/ladia12 Wie hast du das Problem gelöst ?
Verschwindet das Originalbild bei der Rückkehr zur ersten Aktivität? Mein
Originalbild befindet sich im Viewholder von recyclerview—
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/facebook/fresco/issues/22?email_source=notifications&email_token=AAXQ5WYUP5KBJYNBOZX7CCDP3ILM5A5CNFSM4A6ZMH32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVZ#89
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AAXQ5W5EXO5SV4R2PXVTG7LP3ILM5ANCNFSM4A6ZMH3Q
.
Hilfreichster Kommentar
Hier ist der Workaround, den ich verwende, der gut funktioniert:
https://github.com/bumptech/glide