Ich habe Floating Action Buttons in zwei meiner Fragment Layouts und manchmal bewegen sie sich an die falsche Position, obwohl ich CoordinatorLayout verwende.
So sieht es manchmal aus, wenn ich das Fragment öffneDies ist der Code meines Fragments:
%Vor%Hat jemand eine Idee, warum die FAB manchmal in die falsche Position bewegt?
Ich stieß auf das gleiche Problem. Das Problem ist mit der Kombination von app: layout_anchor und com.android.support.design:24.2.0 +
Ich konnte dieses Problem beheben, indem ich entweder die app: layout_anchor-Eigenschaft aus der Fab löste oder zu einer älteren Version der Design-Bibliothek zurückkehrte. 24.1.1 hat gut für mich funktioniert. Ich musste auch meine appcompat v7-Bibliothek zu 24.1.1 zurück.
Ich hoffe, das hilft.
Versuchen Sie, FAB zum ersten Kind von CoordinatorLayout zu machen
Die Klasse CoordinatorLayout.LayoutParams
hat dafür das Feld anchorGravity
. Zum Beispiel:
Keiner dieser Vorschläge funktionierte für mich (Downgrade war keine Option; das FAB nach oben zu verschieben, damit es das erste Kind ist, macht es auf Android 14 unsichtbar; das Entfernen von layout_anchor lässt es ständig an eine zufällige Position springen)
Ich habe stattdessen ConstraintLayout verwendet, um den FAB manuell zwischen den beiden Ansichten zu positionieren, in denen ich ihn haben wollte. Da der gesamte Bildschirm von mir keinen Scrollbereich hat, hat das funktioniert.
Um den FAB auf diese Weise zu positionieren, setzen Sie seine obere und untere Einschränkung auf den unteren Teil der oberen Ansicht, die sich überlappen soll, und stellen Sie sicher, dass es sich um das letzte untergeordnete Objekt in ConstraintLayout handelt.
Tags und Links java android android-fab