Ich habe eine verschachtelte ScrollView, die Inhalte in einem linearen Layout enthält.
%Vor%Ich habe dieses Layout in einem ViewPager und ViewPager befindet sich in einem CordinatorLayout.
%Vor%Wenn ich nun die Ansicht scrolle, scrollt die Ansicht nicht. Aber da das Layout innerhalb des Cordinator-Layouts platziert ist, bewegt es sich nach oben, bis die ToolBar verborgen ist. Aber es scrollt nicht hoch.
Hier ist meine Hauptaktivität xml. Der Ansichtspager befindet sich in einem Layout mit Registerkarten.
%Vor%Hier sind meine Screenshots,
Wenn die Ansicht nach oben gescrollt wird, scrollt sie nur, um die obere Navigationsleiste auszublenden. Es scrollt nicht, um die Elemente unter der Tableiste anzuzeigen,
app:layout_behavior="..."
sollte für ein direktes Kind von CoordinatorLayout festgelegt werden. Wenn Ihr ViewPager
ein direktes Kind von CoordinatorLayout ist, platzieren Sie es in ViewPager
declaration.
Zitat von hier: Fehlerbehebung bei Koordinatorlayouts
Wenn Sie ein Fragment mit einer Liste von Elementen in einem ViewPager und einer übergeordneten Aktivität koordinieren, möchten Sie die Eigenschaft app: layout_behavior auf dem ViewPager als Adam Graves 24.05.2016 17:19
ScrollingViewBehavior ist nur oben und hinzufügen unten Offset zu Ihrem ViewPager. Im Allgemeinen hängt der Offset von der Höhe von AppBarLayout ab und hängt nicht von der Höhe des TabLayouts ab, da er nicht im AppBarLayout enthalten ist. Für eine schnelle Lösung können Sie also einfach paddingBottom zu Ihrem ViewPager hinzufügen:
%Vor%Hier ist also das Problem, Sie können keine NestedScrollView innerhalb der FrameLayout haben.
Auch einige andere kleinere Änderungen in xml benötigt, damit es funktioniert. Wie das TabLayout muss innerhalb AppBar Layout sein und gepinnt werden.
Hier ist Ihr Code - & gt;
%Vor%Und - & gt; Ändern Sie Ihren Fragment-Code, um das Rahmenlayout zu entfernen!
%Vor%Hoffe, das hilft!
Tags und Links android android-nestedscrollview