Android Nested Scrollview scrollt nicht

8

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,

Ursprüngliche Ansicht

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,

    
Zach 20.05.2016, 20:49
quelle

6 Antworten

1

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.

    
Artem Ufimtcev 23.05.2016 13:22
quelle
0

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

quelle
0

Sie können das versuchen! Ich hatte das gleiche Problem mit meiner App. Das hat für mich funktioniert.

%Vor%

%Vor%

    
tintin21 25.05.2016 18:25
quelle
0

probiere das

aus %Vor%     
pratik 30.05.2016 06:59
quelle
0

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%     
Zellius 30.05.2016 07:51
quelle
0

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!

    
Anant Shah 28.05.2016 14:25
quelle