Ich habe einen viewPager mit 3 Fragmenten und Tabs für sie. Jedes Fragment hat eine Intro-Phase (für sich), die keinen scrollbaren Inhalt hat.
Nach dem Verlassen der Einführungsphase gibt es eine RecyclerView, in die der Benutzer scrollen kann.
Ich muss die neue Design-Bibliothek verwenden, damit beim Scrollen (nur über recyclerView) die actionBar ausgeblendet wird und die Tabs weiterhin angezeigt werden.
Wenn der Benutzer zu einem Fragment geht, das noch keinen scrollbaren Inhalt enthält, sollte die actionBar ähnlich wie " Google Play Kiosk " hat. In der Tat würde ich sogar glücklich sein zu haben, was sie haben: sobald Sie beginnen, nach links / rechts zu wischen, zeigen Sie die Aktionsleiste erneut.
Sache ist, wenn ich den Richtlinien und Proben folge, habe ich 2 Probleme:
Die nicht scrollbare Phase für Fragmente wird unten abgeschnitten, als ob sie gescrollt werden könnte.
Ich kann nicht finden, wie ich die actionBar erneut anzeigen und sie dort hängen lassen kann, bis ich zu einem scrollbaren Inhalt übergehe (entweder durch Wechsel zu einem anderen Fragment oder wenn sich der Inhalt des aktuellen Fragments zu a ändert scrollbarer Inhalt).
Hier ist ein kurzer Auszug der aktuellen Layout-XML-Datei der Aktivität:
%Vor%Die Fragmente haben das Layout eines ViewAnimators, der einfach zwischen den Phasen umschaltet, während einer davon der nicht scrollbare Inhalt ist und der andere der RecyclerView.
Ich habe versucht, eine NestedScrollView / ScrollView den nicht scrollbaren Inhalt hinzuzufügen und erzwingen, um sich selbst zu füllen, mit android: fillViewport="true", aber es hat nicht funktioniert. Bei ScrollView war das Scrollen nicht möglich.
EDIT: Eine andere Sache, die ich ausprobiert habe, ist die Verwendung von addOnPageChangeListener auf dem viewPager, so dass ich in onPageSelected die Flags für die Symbolleiste setzen konnte:
%Vor%Es funktioniert, aber es hat auch Probleme:
BEARBEITEN: Eine Lösung besteht darin, eine leere Ansicht der gleichen Höhe der Aktionsleiste (layout_height="? actionBarSize") am unteren Rand des Inhalts der nicht scrollbaren Fragmente hinzuzufügen. Wenn die Aktionsleiste jedoch ausgeblendet ist, kann ich die Ansicht sehen, daher gibt es leeren Platz. Ich muss immer noch wissen, wie man die Aktionsleiste in diesem Fall wieder anzeigt.
Wie stelle ich ein anderes Verhalten für die Symbolleiste ein, so dass es bestimmte Zustände anzeigt und festhält, aber nur scrollbar ist, wenn auf dem aktuellen Fragment eine RecyclerView angezeigt wird?