2014-05-17 7 views
6

Ich möchte die Titelleiste (wo die Aktivität Kachel angezeigt wird) in meiner Anwendung ausblenden. Ich mache das, indem ich den android:windowNoTitle Artikel auf true setze. Dies funktioniert für Geräte mit API-Stufe 19. Ich habe es mit einem Gerät getestet, auf dem API-Stufe 10 ausgeführt wird, und es blendet nur die Benachrichtigungsleiste aus. Die Fliesenleiste wird weiterhin angezeigt.Android styles.xml windowNoTitle (ActionBarActivity)

Hier ist meine res/values/styles.xml

<resources> 
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowFullscreen">true</item> 
    </style> 

</resources> 

EDIT: Ich bin die AppBaseTheme, wie das Thema in meinem Manifest verwenden. Es gibt keine anderen styles.xml-Dateien in einem anderen Wert-vXX-Ordner.

Edit # 2: Ich erweitere eine ActionBarActivity für meine Tätigkeit.

+3

Fügen Sie in Ihrer onCreate() -Methode 'requestWindowFeature (Window.FEATURE_NO_TITLE);' vor setContentView (layout) hinzu. und für den Vollbildmodus 'getWindow() verwenden. SetFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ' – Kunu

+0

gleiches Ergebnis. nicht unter Lebkuchen arbeiten. – Armin

+1

Es scheint, dass Sie ** 2 verschiedene Themennamen ** ('AppTheme' und' AppBaseTheme') verwenden.Und die Themen ** unterscheiden sich nicht **. Also, es ist nicht nur nutzlos, 2 Themen zu haben, aber die Namen sollten identisch sein. –

Antwort

1

Ich verwende 1 Thema für alle Geräte und es funktioniert perfekt auf API-Ebene 8 bis 16 (da ich nur 5 physische Geräte habe). Ich bin mir sicher, dass es auch auf 17-19 Geräten funktioniert.

Stellen Sie sicher, dass in Ihrer Manifest-Datei (im Anwendungsabschnitt), gibt es eine Zeile wie Android ist: theme = "@ style/AppTheme"

Versuchen Sie, für Ihr Thema mit diesem:

<style 
    name="AppBaseTheme" 
    parent="android:style/Theme.NoTitleBar.Fullscreen" 
    > 
    <item name="android:windowNoTitle">true</item> 

    ... 

</style> 

und entfernen Sie die Stile/Themen in den values-xy Ordner

[EDIT]

Da die A ppCompat Thema ist NICHT Vollbild, per Definition wird die Statusleiste weggehen, aber nicht die TitleBar

Wenn Sie die ActionBar von der AppCompat nicht benötigen, dann sollten Sie die AppCompat so bald wie möglich loswerden: Bläh deine Apps nicht mit unneeded und unwanted sachen

Zum Beispiel habe ich eine Kopfzeile und eine Fußleiste, aber das sind einfach RelativeLayouts Ich implementierte meine eigenen.
Und immer noch die Freiheit, die gesamte Bildschirmoberfläche zu verwenden.

0

versuchte ich die android:style/Theme.NoTitleBar.Fullscreen in styles.xml aber ich habe:

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 

So folgte ich den Rat an das AppCompat Thema zu bleiben, und statusbar verstecken konnte und ActionBar die folgenden Zeilen in styles.xml mit:

<resources> 
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowFullscreen">true</item> 
    </style> 
</resources> 
7

Versuch mit dieser

<style name="MyMaterialDialog" parent="Base.Theme.AppCompat.Light.Dialog.MinWidth"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 

Android-Präfix entfernen!

+0

Das ist die richtige Antwort, Danke! –