2013-03-02 77 views
4

在我的应用程序中,我使用了ActionBarSherlock库。另外我正在使用自定义标题栏。 这里去我的onCreate:您不能将自定义标题与其他标题功能结合起来

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

在我styles.mxl

<style name="MyTheme" parent="Theme.Sherlock"> 
     <item name="android:background">#ff888888</item> 
     <item name="android:windowNoTitle">false</item> 
     <item name="android:windowTitleSize">50dp</item> 
     <item name="android:windowTitleBackgroundStyle">@style/windowTitleBackgroundStyle</item> 
    </style> 
<style name="windowTitleBackgroundStyle"> 
    <item name="android:background">#00688B</item>     
</style> 

清单文件,我使用的MyTheme的活动。

android:theme="@style/MyTheme" 

该代码具有较低的Android版本正确工作(我曾与GB2.3.5测试)。但是,当我用ICS测试时,它与下面的错误崩溃: “你不能合并自定义标题与其他标题功能” 我在StackOVerflow讨论彻底,但无法解决问题。 解决方案尝试: 1)假 2)没有值-V11文件夹

+0

检查此:http://stackoverflow.com/questions/13197345/cannot-combine-custom-titles-with-other-title-features – Waqas 2013-03-02 06:18:10

+0

嗨Waqas,我检查了上述链接,但无法获得任何解。我需要有一个带有两个图标和标题文字的自定义标题。正如概率中提到的,我正在使用actionbarsherlock。 – basu 2013-03-02 08:47:09

+0

在我的情况下,我得到了这个错误,因为我在清单中为LAUNCHER活动指定了android:theme =“@ style/Theme.Transparent” 。我删除了该行,它工作。 <“:windowActionBar机器人”项目名称=>假的风格,而不是使用.NoActionBar,因为后者包括 – 2013-07-13 01:50:56

回答

10

我收到相同的异常。

这是我发现的:在较新版本的Android中,只要选择了Holo主题,框架就会使用Window.FEATURE_ACTION_BAR功能。只要应用程序调用setFeatureInt(Window.FEATURE_CUSTOM_TITLE)并且FEATURE_ACTION_BAR已经设置,框架就会抛出异常。

在我的情况下,values-v11文件夹中的styles.xml文件重新定义了我的主题,以从android:Theme.Holo继承。当我尝试在Android 3.0或更高版本上运行我的应用程序时 - 它因为Holo默认使用ActionBar而崩溃。修复很简单。使用Holo时关闭ActionBar。下面是修改后的值-V11 \ styles.xml变化:

<style name="AppBaseTheme" parent="android:Theme.Holo.NoActionBar"> 
    <!-- API 11 theme customizations can go here. --> 
</style> 
+6

感谢@craigrf 这是更好地 添加<项目名称=“机器人:windowNoTitle”>真 – OferR 2013-06-27 09:35:11

+0

我试穿了Android的一样,它没有工作。 :( – jrhamza 2015-03-22 12:28:55

2

我有同样的问题,并解决它:

根本原因: 在清单中,我复制错误地从贴这个标签我的启动画面进入了我的活动:@android:style/Theme.NoTitleBar 当我还在我的活动中请求FEATURE_CUSTOM_TITLE时,发生致命异常,导致冲突。

SOLUTION: 要解决它,我检查了这些三两件事: 1)onCreate方法:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.activity_login); 
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_titlebar); 

    } 

2)INSIDE您的manifest.xml: 确保线路如这些只出现在一闪屏,如果你有一个: 机器人:主题=“@机器人:风格/ Theme.NoTitleBar 移除任何其他的活动,行,如果你想有一个自定义的酒吧

在应用程序标签,我唯一的主题标签这一个: andr oid:theme =“@ style/AppTheme”

在activity标签中,我没有主题标签。

3)转到您活动的XML布局,并在GRAPHIC LAYOUT模式下查看它。 Maye确定你的主题说AppTheme(它是你放在清单上的) Mine说“没有标题”,所以这是造成这个问题的原因。