2010-07-01 5 views
10

J'ai une barre de titre personnaliséAndroid: Custom Bar Titre

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

Ce qui fonctionne essentiellement bien. Le problème est que jusqu'à ce que le code ci-dessus soit appelé, la barre de titre par défaut est affichée. Je ne veux pas d'une barre de titre du tout, en d'autres termes, avant que le mien n'apparaisse, aucun titre ne doit apparaître.

Ajouter ceci au manifeste:

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

conduit à une étroite force. Mon manifeste ressemble à ce

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

où je dois mon_theme car il définit la couleur d'arrière-plan, définissant la couleur de fond dans mon thème client conduit à une zone grise autour de mon couleur backround. Donc, même sans la fermeture de la force, je ne suis pas sûr que le titre de non aidera.

Une idée?

Merci.

Répondre

14

J'ai eu le même problème que vous.

Le problème vient de ce que vous avez dans votre style.

Essayez ceci:

<?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

Merci noir sur noir fait le truc pour cacher la valeur par défaut. – paradroid666

+1

Vous pouvez également utiliser '@android: color/transparent'. – eidylon

+0

' 1dp' résolu mon problème. – GAMA

-1

plantage de votre application, car dans votre code vous appelle la barre de titre de fonctions de fenêtre et autre côté, vous le désactiver par manifeste. Fondamentalement, vous ne pouvez pas faire cela, c'est logiquement incorrect. Vous devez modifier votre barre de titre pour ne pas le supprimer.

2

Celui-ci est le seul pour moi, ce qui empêche le titre par défaut avant que mon titre personnalisé est lancé:

<?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

vous devriez également vérifier si customTitle est pris en charge par celle-ci ou non.

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



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

}