2010-07-01 4 views
10

ho una barra del titolo personalizzatoAndroid: personalizzato barra del titolo

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.activities); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); 

Quale funziona sostanzialmente bene. Il problema è che finché non viene chiamato il codice sopra indicato viene mostrata la barra del titolo predefinita. Non voglio affatto una barra del titolo, in altre parole, prima che il mio si presenti, nessun titolo deve apparire.

L'aggiunta di questo al manifesto:

<application android:theme="@android:style/Theme.NoTitleBar"> 

porta ad una forza di chiusura. Il mio manifesto assomiglia a questo

<application android:icon="@drawable/icon" android:label="@string/app_name" 
    android:theme="@style/My_Theme"> 

Dove ho bisogno my_Theme dato che imposta il colore di sfondo, impostare il colore di sfondo nel mio tema cliente conduce ad una zona grigia intorno al mio backround colorato. Quindi, anche senza la forza vicina, non sono sicuro che il titolo non sia d'aiuto.

Qualche idea?

Grazie.

risposta

14

Ho avuto lo stesso problema di te.

Il problema è con qualcosa che hai nel tuo stile.

Prova questo fuori:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="My_Theme"> 
     <item name="android:windowTitleSize">35dp</item> 
     <item name="android:windowTitleBackgroundStyle">@android:color/black</item> 
    </style> 
</resources> 
+0

Grazie nero su nero fa il trucco per nascondere il valore predefinito. – paradroid666

+1

Puoi anche usare '@android: color/transparent'. – eidylon

+0

' 1dp' risolto il problema. – GAMA

-1

la vostra applicazione si blocca perché nel codice si chiama barra del titolo da caratteristiche delle finestre e in dall'altro lato si disabilitarlo tramite manifesto. Fondamentalmente non puoi farlo, è logicamente scorretto. È necessario modificare la barra del titolo per non rimuoverla.

2

questo è l'unico per me, che impedisce il default-titolo prima di iniziare il mio titolo personalizzato:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="CustomWindowTitleStyle"> 
     <item name="android:textColor">@android:color/transparent</item> 
    </style> 

    <style name="CustomTheme" parent="@android:style/Theme.Holo"> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowTitleBackgroundStyle">@android:color/transparent</item> 
     <item name="android:windowTitleSize">50dp</item> 
     <item name="android:windowTitleStyle">@style/CustomWindowTitleStyle</item> 
    </style> 

</resources> 
0

si dovrebbe anche verificare se customTitle è supportato da esso o no.

Boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.main); 



if (customTitleSupported) { 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title); 

}