Wabenmuster * .NoActionBar oder * .NoTitleBar - wo ist die Menüschaltfläche?

8

Mein Manifest-Setup: targetSdkVersion = 11

Ich habe Aktivität mit Thema auf Android: Stil / Theme.Holo.NoActionBar oder Android: Stil / Theme.NoTitleBar

Gewünschtes Ergebnis: App, die keine obere Leiste (Aktionsleiste oder Titelleiste) anzeigt und über ein Menü verfügt. Ich möchte fast Vollbild (Videoplayer oder Bildbetrachter) evtl. mit abgeblendeten Statusleiste.

Problem ist, dass es in einer solchen Kombination keine Möglichkeit gibt, die Menütaste zu drücken, da keine Menü-Schaltfläche angezeigt wird. Wenn targetSdkVersion & lt; 11 ist, dann gibt es eine Legacy-Menüschaltfläche in der unteren Leiste, die ich erwarten würde, dort zu sein, wenn ich die Aktionsleiste ausblenden möchte.

Auf Tablets gibt es keine Hardware-Menüschaltfläche. Es gibt keine virtuelle Menüschaltfläche mit der oben genannten Bedingung.

Ist es bei Honeycomb ein Konstruktionsfehler, der alle Apps zwingt, eine Aktionsleiste zu haben, um Menüs zu haben?

Es gibt mehrere Holo. * -Themen mit .NoActionBar-Version, sollen diese nur für Apps ohne Menü sein?

Ich bin verwirrt, warum die Menüschaltfläche nicht in die untere Leiste verschoben wird, wenn ich keine Aktionsleiste auswähle.

Frage: Kann ich keine Aktionsleiste haben und trotzdem ein Menü anbieten, während ich meine App auf Honeycomb ausrichten kann?

    
Pointer Null 07.10.2011, 14:43
quelle

1 Antwort

6

Wenn Sie ein Menü möchten, verwenden Sie entweder die Aktionsleiste oder erstellen Sie Ihr eigenes Menüsystem. So ist es in Honeycomb, und kein Designfehler, sondern eine Designwahl.

Sie können stattdessen die Aktionsleiste ausblenden; Prüfen Sie diese Antwort, wie Sie solche Dinge erreichen können. Eine nette Strategie wäre beispielsweise, die Aktionsleiste auszublenden, wenn keine Benutzeraktivität vorliegt (Touch-Ereignisse im Grunde genommen). Sie können einen Timer einstellen, um ihn bei TouchUp-Ereignissen nach 2 Sekunden auszublenden und den Timer abzubrechen, wenn es in der Zwischenzeit eine Berührung gibt. Zeigen Sie es erneut, wenn es Berührungen gibt.

    
MrJre 07.10.2011, 15:30
quelle