Bitte schauen Sie sich dieses Video an, das einen Aktivitätsübergang für geteilte Elemente zeigt. Es ist ein Übergang von einer Listenaktivität zu einer Detailaktivität.Android-Shared-Element-Übergang: Helden-Ansicht wird vor anderen gezeichnet
[Video Link funktioniert nicht mehr]
Wie Sie die Bildansicht vor den Laschen gezogen wird sehen können.
Was ich erwarten würde ist, dass die Tabs in der Bildansicht in Schriftart gezeichnet werden und während des Übergangs ausgeblendet werden (so dass sie am Ende der Animation verschwunden sind).
Das einzige, was zu funktionieren scheint setzt windowSharedElementsUseOverlay
auf true, aber das hat andere hässliche Auswirkungen, so dass nicht als eine Option zu sein scheint.
Der am häufigsten vorgeschlagene Ansatz besteht darin, die Registerkarten in den Übergang selbst aufzunehmen, aber das Problem besteht darin, dass die Registerkarten nicht in der Detailaktivität vorhanden sind, sodass sie nicht gemeinsam genutzt werden können.
Code: ich die Detail-Aktivität wie folgt beginnen:
options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, pairs);
ActivityCompat.startActivity(activity, subActivity, options.toBundle());
Haben Sie zufällig eine Höhe irgendwo in Ihrem Stil? Einer der Gründe dafür, dass Ansichten übereinander angezeigt werden, ist, wenn eine Höhe festgelegt ist. –
Ich habe dieses Problem gelöst, indem ich meine 'RecyclerView' leicht nach unten durchgeblättert habe, wenn das Objekt angeklickt wurde, so dass die Ansicht nicht durch die 'ActionBar' /' Toolbar' behindert wird. Nicht ideal, aber es sieht gut aus und macht den Job. Die Komplexität bestand darin, zu bestimmen, wie weit nach unten gescrollt werden sollte, basierend darauf, wie stark die Sicht behindert war. –
@SimonGuerout danke Simon, versucht, alle Animationen zu entfernen, kein Erfolg: - (( –