android - 您不能将自定义标题与其他标题功能结合使用

标签 android android-actionbar actionbarsherlock

在我的应用程序中,我使用了 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>

在 list 文件中,我使用 MyTheme 进行 Activity 。

android:theme="@style/MyTheme"

此代码适用于较低的 android 版本(我已经使用 GB2.3.5 进行了测试)。但是当我使用 ICS 进行测试时,它因以下错误而崩溃: “您不能将自定义标题与其他标题功能结合使用” 我在 StackOVerflow 讨论中进行了彻底的讨论,但无法解决问题。 解决方案尝试: 1)错误 2)没有values-v11文件夹

最佳答案

我收到了同样的异常。

这是我发现的:在较新版本的 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。这是修改后的 values-v11\styles.xml 更改:

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

关于android - 您不能将自定义标题与其他标题功能结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15171373/

相关文章:

android - 单元测试中的 RecyclerView Adapter

android - 如何在Linux上安装Mobogenie?

android - 如何使用每个选项卡的图像和 ActionBarSherlock 设置选项卡宽度

android - 向上导航和保存的实例数据

android - 将项目添加到操作栏(使用 ActionBarSherlock)

android - 操作项的自定义下拉菜单 (actionbarsherlock)

android - 菜单图标不出现,ics 4.0.3

android - 启动新 Activity "behind"当前 Activity

android - 模仿 youtube/gmail 应用程序的抽屉导航

android - ActionBar 在按下时更改菜单项按钮的颜色