Kurzes Ausblenden von ActionBar ohne Änderung der Größe der Aktivität

8

Ich verwende einen ViewPager, um zwischen verschiedenen Fragmenten zu scrollen. Es gibt zwei Arten von Fragmenten, die zwei verschiedene Menüressourcen verwenden. Ich mache das Menü ungültig, um bei Bedarf zwischen diesen Ressourcen zu wechseln. Das funktioniert alles gut, aber das Menü wird ohne Animation neu gezeichnet.

Um zu verhindern, dass ich mich mit einzelnen MenuItems anlegen muss, habe ich gehofft, dass ich die ActionBar kurz verstecken kann, während das neue Menü geladen wird. Das funktioniert auch wie erwartet, aber die Größe der Aktivität wird geändert, wenn die ActionBar umgeschaltet wird.

Gibt es eine Möglichkeit, dies zu verhindern oder den hässlichen Übergang zwischen den Menüressourcen anderweitig zu verbergen?

    
Quint Stoffers 15.07.2012, 18:00
quelle

1 Antwort

17

Ich habe den Menübereich Ihres Problems nicht ganz verstanden, aber es gibt eine einfache Lösung, um zu verhindern, dass sich Ihre Aktivität ändert, wenn die ActionBar erscheint oder verschwindet.

Sie können festlegen, dass sich die ActionBar im Overlay-Modus zeichnet, dh dass sie über der Aktivität schwebt, anstatt Teil des Layouts der Aktivität zu sein. Verwenden Sie entweder android:windowActionBarOverlay in Ihrem Design oder die Window.FEATURE_ACTION_BAR_OVERLAY -Flag vom Code.

Wahrscheinlich möchten Sie diese Funktion in Verbindung mit der Konstante actionBarSize verwenden, die den korrekten Offset für die erste Ansicht in Ihrem Layout angibt. Auf diese Weise wird Ihr Inhalt immer noch unterhalb der ActionBar angezeigt, aber da die ActionBar selbst eine Überlagerung ist, ändert sich die Größe der Aktivität beim Verbergen / Anzeigen nicht.

%Vor%

Weitere Details finden Sie in der Dokumentation .

    
MH. 15.07.2012, 19:48
quelle

Tags und Links