获取自定义主题以使用自定义操作栏的问题

时间:2014-04-08 01:42:15

标签: android

我一直在努力让自定义主题和操作栏一起工作。我使用经常链接的网站为他们生成了资源。两者都在清单中独立设置时工作(只有应用主题,或者只有操作栏),但是当它们一起使用时,只有清单中明确说明的那个工作。

我的清单:

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

MyActionBar的xml文件:

<style name="Theme.MyActionBar" parent="@style/MyAppTheme">

MyAppTheme的xml:

<style name="MyAppTheme" parent="@style/Theme.AppCompat">

如上所述,操作栏的样式有效,但主题的其余部分是AppCompat默认值。当我颠倒他们的顺序,以便MyAppTheme是MyActionBar的孩子,而后者是Theme.AppCompat的孩子时,应用程序主题可以工作,但操作栏没有。

我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以将ActionBar样式放入styles.xml的父主题中,如下所示:

将actionBarStyle属性设置为自定义主题:

<style name="MyAppTheme" parent="@style/Theme.AppCompat">
    <item name="android:actionBarStyle">@style/mActionBar</item>
    <item name="actionBarStyle">@style/mActionBar</item>
</style>

然后,使用ActionBar父级的小部件主题声明此项目:

<style name="mActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <!-- set your ActionBar theme -->
</style>  

您可以看到Styling the ActionBar,对于更多示例,它可能非常有用 如果这有帮助,请告诉我。

答案 1 :(得分:0)

此站点可以为您生成styles.xml和所有适当的资源。您还可以选择是否生成符合纯Android,ActionBarSherlock或AppCompat的样式。

ActionBar Style Generator