Ich arbeite in einem benutzerdefinierten Transition
, um nur den sichtbaren Teil von Shared View
zu animieren, falls es teilweise sichtbar ist.
In meinem Fall passiert das, weil Shared View
in ConstraitLayout
und ConstraitLayout
in ScrollView
steht.
Ich erwähnte dieses Problem in einer anderen Frage: Geteilter Elementübergang - animiert nur das Sichtbare Teil der gemeinsamen Ansicht
Dies ist das defaul transition
, das vom System ausgewählt wird:
Und hier arbeite ich:
Die Animation selbst funktioniert gut ... Aber das Problem ist, das System zeichnet die volle gemeinsame Ansicht, bevor die Animation beginnt ... und es gibt ein hässliches Blinzeln.
Wie kann ich das verhindern?
Ich habe schon auf meinen Stil:
<item name="android:windowSharedElementsUseOverlay">false</item>
Fügen Sie in Ihrer Zielaktivität eine ActionBar wie die in der Quellaktivität hinzu, so dass sie natürlich dasselbe Element Ihres freigegebenen Elements abdeckt. Sie müssen möglicherweise Extras zwischen den Aktivitäten übergeben, um die Ziel-ActionBar zu konfigurieren.
Tags und Links android animation android-transitions shared-element-transition