2010-07-01 10 views
10

Ich habe eine benutzerdefinierte TitelleisteAndroid: Benutzerdefinierte Titel Bar

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

die im Grunde gut funktioniert. Das Problem ist, dass bis der obige Code aufgerufen wird die Standardtitelleiste angezeigt wird. Ich will überhaupt keine Titelleiste, also bevor mir auftaucht, soll kein Titel auftauchen.

Addiert man diese zu dem Manifest:

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

führt zu einer Kraft zu schließen. Mein Manifest sieht wie folgt aus

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

Wo ich my_Theme benötigen, da sie die Hintergrundfarbe setzt, die Einstellung der Hintergrundfarbe in meinem Kunden Thema führt zu einem grauen Bereich um meine farbigen Hintergrund. Also auch ohne die Kraft zu schließen bin ich mir nicht sicher, ob der Nein-Titel helfen wird.

Irgendeine Idee?

Danke.

Antwort

14

Ich hatte das gleiche Problem wie Sie.

Das Problem ist mit etwas, das Sie in Ihrem Stil haben.

Probieren Sie dies aus:

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

Dank schwarz auf schwarz tut der Trick, um den Standard zu verbergen. – paradroid666

+1

Sie können auch '@android: color/transparent' verwenden. – eidylon

+0

' 1dp' löste mein Problem. – GAMA

-1

Ihre App stürzt ab, weil in Ihrem Code Sie Titelleiste aus dem Fenster Eigenschaften und in anderen Seite rufen Sie es durch manifest zu deaktivieren. Grundsätzlich kann man das nicht, es ist logisch falsch. Sie müssen Ihre Titelleiste ändern, um sie nicht zu entfernen.

2

Dieses ist das einzige für mich, die den Standard-Titel vor meinem eigenen Titel initiiert verhindert:

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

Sie sollten auch prüfen, ob customTitle von ihr unterstützt wird oder nicht.

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



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

} 
Verwandte Themen