2014-05-17 12 views
6

Desidero nascondere la barra del titolo (dove viene visualizzato il riquadro delle attività) nella mia applicazione. Lo sto facendo impostando l'articolo android:windowNoTitle su true. Funziona perfettamente con i dispositivi con livello API 19. L'ho testato con un dispositivo con livello API 10 e nasconde solo la barra delle notifiche. La barra dei riquadri è ancora mostrata.Android styles.xml windowNoTitle (ActionBarActivity)

Ecco il mio 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: sto usando il AppBaseTheme come tema nel mio manifesto. Non ci sono altri file styles.xml in nessun altro valore-cartella vXX.

Modifica # 2: Sto estendendo un ActionBarActivity per la mia attività.

+3

aggiungere 'requestWindowFeature (Window.FEATURE_NO_TITLE);' prima di setContentView (layout) nel metodo onCreate(). e Per la visualizzazione a schermo intero utilizzare 'getWindow(). SetFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ' – Kunu

+0

stesso risultato. non funziona sotto il pan di zenzero. – Armin

+1

Sembra che tu stia usando ** 2 diversi nomi di temi ** ('AppTheme' e' AppBaseTheme').E i temi ** non differiscono **. Quindi, non solo è inutile avere 2 temi, ma i nomi dovrebbero essere identici. –

risposta

1

Uso un tema per tutti i dispositivi e funziona perfettamente con le API da 8 a 16 (poiché ho solo 5 dispositivi fisici). Sono sicuro che funziona anche sui dispositivi 17-19.

Assicurarsi che nel file manifesto (nella sezione di applicazione), v'è una linea come Android: theme = "@ stile/AppTheme"

Provare a utilizzare questo per il tema:

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

    ... 

</style> 

e rimuovere gli stili/temi nelle values-xy cartelle

[EDIT]

Poiché la a Il tema ppCompat NON è a schermo intero, per definizione, lo StatusBar andrà via, ma non il TitleBar

Se non hai bisogno di ActionBar offerto da AppCompat, allora dovresti sbarazzarti di AppCompat il prima possibile: non gonfiare le tue app con unneeded e

Ad esempio, ho una barra di intestazione e una barra di piè di pagina, ma queste sono semplicemente RelativeLayouts che ho implementato da sola.
E hanno ancora la libertà di utilizzare l'intera superficie dello schermo.

0

ho provato il android:style/Theme.NoTitleBar.Fullscreen in styles.xml ma ho ottenuto:

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

così ho seguito il consiglio di attenersi al tema AppCompat, e potrebbe nascondere la barra di stato e ActionBar utilizzando le seguenti righe in styles.xml:

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

provare a utilizzare questa

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

rimuovere il prefisso di Android!

+0

Questa è la risposta corretta, grazie! –