在我的应用程序中,我正在使用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>
在Manifest文件中,我使用MyTheme进行活动。
android:theme="@style/MyTheme"
此代码适用于较低的Android版本(我已使用GB2.3.5进行了测试)。但是当我用ICS进行测试时,它崩溃了以下错误: “你不能将自定义标题与其他标题功能结合起来” 我在StackOVerflow讨论中进行了彻底的讨论,但无法解决问题。 解决方案: 1)错误 2)没有值-v11文件夹
答案 0 :(得分: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>
答案 1 :(得分:2)
我有同样的问题并解决了它:
根本原因: 在Manifest中,我将这个标签错误地从我的启动画面粘贴到我的活动中:@android:style / Theme.NoTitleBar 当我在我的活动上请求FEATURE_CUSTOM_TITLE时,发生致命异常,导致冲突。
解: 要修复它,我检查了以下三件事: 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)在您的manifest.xml中: 如果您有一条线,请确保这些线路仅在闪屏中出现: 机器人:主题=“@安卓风格/ Theme.NoTitleBar 如果您想要自定义栏,请从任何其他活动中删除该行。
在应用程序标记中,我唯一的主题标记是这一个: 机器人:主题= “@风格/ AppTheme”
在活动代码中,我没有主题标记。
3)转到活动的XML布局,并在GRAPHIC LAYOUT模式下查看。 Maye确定你的主题是AppTheme(你把它放在清单上) 我说“没有标题”,所以这引起了问题。