Gemeinsamer Elementübergang - animiert nur den sichtbaren Teil der gemeinsamen Ansicht

8

Ich arbeite in einer App, die Google Kalender ähnlich ist ...

  1. Es gibt Ereignisse und wenn ein Benutzer auf einen klickt, wächst das Ereignis und verwandelt sich in die Detailansicht.
  2. Die geteilten Ansichten (die Ereignisse) befinden sich in einer ScrollView, also bei einigen zeigen Sie diese Ansichten möglicherweise teilweise sichtbar.
  3. Das Problem ist, dass wenn eine teilweise sichtbare Ansicht ausgewählt ist, die vollständige Ansicht erscheint vor allem und dann läuft die Animation.

Hier ist eine Erfassung des Problems:

Was kann ich tun, damit der Übergang nur den sichtbaren Teil der Ansicht zum Animieren verwendet?

Das ist mein Übergang:

%Vor%     
Oscar Méndez 04.02.2018, 12:06
quelle

2 Antworten

0

Wenn Ihr Übergang zwischen Fragmenten ist, dann ist artkoenigs Antwort Ihre Antwort.

Wenn nicht, können Sie eine ActionBar wie die in der Quell-Aktivität hinzufügen, so dass sie natürlich das selbe Ihres geteilten Elements abdeckt. Sie müssen möglicherweise Extras zwischen den Aktivitäten übergeben, um die Ziel-ActionBar zu konfigurieren.

    
Leonardo Acevedo 12.02.2018 01:26
quelle
0

Gemeinsame Elemente werden über die gesamte Ansichtshierarchie gezeichnet. Sie können dies deaktivieren, indem Sie Window#setSharedElementsUseOverlay(false) in Ihren Aktivitäten festlegen. Dies führt jedoch zu unerwünschten Effekten. Mehr Details hier und auf YouTube .

Die bessere Lösung besteht darin, den Austausch von Elementen zwischen Fragmenten zu verwenden. Mehr Details hier .

    
artkoenig 07.02.2018 08:48
quelle