2010-07-01 73 views
10

我有一个自定义标题栏安卓:自定义标题栏

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

其中一期工程基本正常。问题是,直到上面的代码被称为默认标题栏显示。我根本不想要一个标题栏,换句话说,在我的电影出现之前,没有标题出现。

添加到这个清单:

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

导致强制关闭。我的清单看起来像这样

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

,我需要my_Theme因为它设置背景颜色,设置背景颜色在我的客户主题导致我的周围彩色底色的灰色地带。所以,即使没有力量关闭,我不知道如果没有标题会帮助。

有什么想法?

谢谢。

回答

14

我和你有同样的问题。

问题出在你的风格上。

尝试了这一点:因为

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

谢谢黑色的黑色隐藏默认设置。 – paradroid666 2010-07-02 10:55:17

+1

你也可以使用'@android:color/transparent'。 – eidylon 2011-05-05 01:42:59

+0

' 1dp'解决了我的问题。 – GAMA 2013-03-29 10:47:57

-1

您的应用崩溃在你的代码从窗口功能,而在其他方面,你通过清单禁用它调用标题栏。基本上你不能这样做,它的逻辑不正确。 您需要修改标题栏才能删除它。

2

这一个也是唯一一个对我来说,这阻止默认标题我的自定义标题开始之前:

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

您也应该检查是否customTitle被它支持或不。

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



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

}