Sehen Sie sich das folgende Layout an. Sie werden sehen, dass der schwebende Knopf zu weit nach unten zeigt. Dies liegt daran, dass die Symbolleiste und die Registerkarten angezeigt werden und die Höhe des ViewPagers falsch ist. Irgendwie mache ich etwas falsch mit der Layouthöhe. Aber wie kann ich das beheben?
Anmerkung: Der ViewPager ist der Hauptinhalt und enthält ein Fragment mit einem ListView und einem Google Map V2 in der zweiten Registerkarte.
Das ist das Layout XML:
%Vor%Hier ist das Layout für das Fragment in der ersten Registerkarte (die Liste):
%Vor%Nur um sicherzugehen; Es ist kein Problem mit dem FAB. Siehe dieses Bild. Es ist ein ähnliches Layout. Ein CoordinatorLayout mit einer ToolBar und einem ViewPager, der durch alle Detaileinträge wischt (daher werden keine Tabs benötigt). Und wieder scheint die innere Ansicht zu lang zu sein (die gleiche Höhe wie die ToolBar).
compile 'com.android.support:recyclerview-v7:23.0.0'
haben. Ich stieß auf das gleiche Problem, wo der Viewpager die Systemtasten überlappt. Ich habe es behoben, indem ich einfach diese Abhängigkeit hinzugefügt habe. Alles, was Sie "koordinieren" müssen, muss direkt Kind von CoordinatorLayout
sein, einschließlich der AppBar
, RecyclerView
(ListView in API21 + oder andere Ansichtsunterstützung verschachtelter Bildlauf ist OK) oder FAB
usw.
Der Grund, warum Ihr FAB
außerhalb des Bildschirms liegt, ist:
ViewPager
hat @string/appbar_scrolling_view_behavior
, das Werkzeug dieses Verhaltens versetzt die Ansicht beim Scrollen. FAB
in ViewPager
. Wenn also der Offset von ViewPager
geändert wird, wird alles innerhalb von ViewPager
zusammen versetzt (extra CoordinatorLayout
hat keine Hilfe, um den Offset zu ändern).
Um dies zu beheben, verwenden Sie nicht CoordinatorLayout
outside ViewPager
.
Oder:
FAB
von ViewPager
ab, damit sie nicht mit ViewPager
.blättert. hide()
bei Bedarf. Übrigens gibt es eine sehr gute App, Käsequadrat-Probe , um die Design-Bibliothek zu demonstrieren.
Tags und Links android android-fragments android-coordinatorlayout