0

Ich arbeite an einer App, die bereits in Produktion ist, hat mehrere Aktivitäten. Die Designer möchten nun einen Floating Action Button hinzufügen, der rechts unten in zwei unserer Aktivitäten verankert ist (möglicherweise in Zukunft). Der FAB muss an der gleichen Stelle bleiben, wenn die beiden Aktivitäten ineinander übergehen.Hinzufügen einer freigegebenen Floating-Aktion Schaltfläche zu zwei vorhandenen Aktivitäten

Ich weiß, dass ich Shared-Element-Übergang verwenden kann, um das zu erreichen, aber das Problem ist, verwenden wir overridePendingTransition(), um eine gleitende Animation beim Übergang zwischen den beiden Aktivitäten hinzuzufügen, und dass gleitende Animation wird gebrochen, wenn ich gemeinsam genutzten Element Übergang verwenden wie es von der Szenenübergangsanimation übersteuert wird.

Hat jemand etwas ähnliches tun müssen?

Um es zusammenzufassen, hier sind meine Anforderungen:

  1. zwei activitie Übergang zwischen einander eine gleitende Animation
  2. eine schwebende Aktionstaste in beiden Aktivitäten ist, in der gleichen Position
  3. die FAB Bedarf mit immer stationär bleiben, auch während des Übergangs zwischen den beiden Aktivitäten
  4. der FAB kann, muss aber nicht auf OnClick-Ereignisse während des Übergangs reagieren (dies ist eine akzeptable Einschränkung)
  5. ist mir egal, wie schmutzig die Umsetzung ist, aber ich würde es vorziehen, stark nicht in eine einzige Tätigkeit, Refactoring, weil beide Aktivitäten recht komplex sind, wie sie

Glücklich zu bieten alle zusätzlichen Details sind, wenn es hilft. Vielen Dank.

+0

Verwenden Sie Fragmente anstelle von Aktivitäten, und Sie können FAB-Taste freigegeben haben. –

+0

@SriMaharshiManchem Ich weiß, ich verwende bereits Fragmente in jeder der Aktivitäten. Aber wie ich schon sagte, sind die beiden Aktivitäten sehr komplex, also würde ich das lieber nicht tun, nur um dies zu erreichen. – qtyq

Antwort

0

Eigentlich habe ich keinen ähnlichen Fall zu Ihnen. Ich arbeite an mehreren Fragmenten und nicht an Aktivitäten. Was Sie tun können, ist eine Basisaktivität zu erstellen, die die Fab-Schaltfläche implementieren und diese Basisaktivität in den beiden anderen Aktivitäten erweitern.

Für die jeweilige Arbeit von fab Taste in jeder Aktivität können Sie tun, dass mit Hilfe von String in savedInstanceState d.h von Bundle.

Hoffe es hilft !!

+0

Tut mir leid, ich sehe nicht, wie dies im Vergleich zum Hinzufügen der FAB zu beiden Aktivitäten (die ich schon für jetzt getan habe), aber trotzdem danke. – qtyq

+0

Wenn eine Basisaktivität in beiden Aktivitäten erweitert wird, kann der Methodenaufruf für die Fab-Schaltfläche in beiden Aktivitäten entsprechend der Auswahl gleich oder unterschiedlich ausgeführt werden. Es funktioniert perfekt, wenn ich mehrere Fragmente unter einer Basisaktivität erweiterte Aktivität habe. Es kann Code Boilerplate reduzieren und ich denke, die Fab-Schaltfläche wird stationär bleiben. –

Verwandte Themen