Programmatisch den android: windowActionBarOverlay-Stil von der Aktionsleiste aus ausschalten

8

Derzeit verwende ich ActionBarSherlock . Ich möchte SecondActivity von MainActivity starten.

MainActivity verwendet die Aktionsleiste mit aktiviertem% ​​co_de% style. windowActionBarOverlay verwendet eine Aktionsleiste, in der SecondActivity style deaktiviert ist. Daher sieht meine XML wie folgt aus.

%Vor% %Vor%

In windowActionBarOverlay erkenne ich jedoch, dass ich oben links in der Aktionsleiste nie eine Hoch / Zurück-Schaltfläche haben kann. Obwohl ein Symbol angezeigt wird, ist es nicht drückbar. Nur wenn das gleiche Thema (ThemeWithActionBarOverlay) als SecondActivity verwendet wird, wird nur die Schaltfläche "up / back" angezeigt. Wenn ich MainActivity jedoch dasselbe Thema wie SecondActivity verwenden lasse, finde ich keine Möglichkeit, MainActivity behavior zu deaktivieren.

%Vor%

Meine Fragen sind

  1. Warum muss die untergeordnete Aktivität die Aktionsleiste mit dem gleichen Thema wie die der übergeordneten verwenden, damit die richtige Schaltfläche "hoch / runter" angezeigt wird? Gibt es eine Möglichkeit, verschiedene Themen zu verwenden, und dennoch die Schaltfläche "Zurück / Hinten" für Kinderaktivitäten angezeigt wird?
  2. Ist es möglich, windowActionBarOverlay style während der Laufzeit auszuschalten?
Cheok Yan Cheng 19.03.2012, 03:10
quelle

1 Antwort

4

Um Ihre erste Frage zu beantworten, müssen die Eltern- und Kindaktivitäten nicht mit demselben Thema funktionieren, damit die Schaltfläche "Nach oben" funktioniert. In der Tat arbeite ich an einer ähnlichen Eltern / Kind-Aktivität-Anwendung, und es funktioniert gut mit zwei verschiedenen Themen (ein Thema ohne Überlagerung für die Eltern und das Vollbild-Thema (mit Overlay) für das Kind).

>

Es muss einen anderen Grund geben, warum es nicht funktioniert ...

  • Stellen Sie sicher, dass Sie MainActivity als Übergeordnete der zweiten Aktivität definiert haben. Sie können das entweder über den Code oder den bevorzugten Weg in der AndroidManifest.xml :

    tun %Vor%
  • Stellen Sie sicher, dass Sie in Ihrer Kinderaktivität die Navigation nach oben aktiviert haben:

    %Vor%

Bei der zweiten Frage sollten Sie versuchen, das 'windowActionBarOverlay' im ThemeWithoutOverlay -Thema auf false :

zu setzen %Vor%     
tinesoft 07.01.2013 23:33
quelle

Tags und Links