4

为了自定义我的操作栏,我在 xml 中使用以下代码:

<style name="CustomActionbarTheme" parent="@style/Theme.AppCompat.Light">
    <item name="actionBarTabStyle">@style/customTab</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="background">@drawable/title_bar</item>
</style>

<style name="customTab" parent="@style/Widget.AppCompat.ActionBar.TabView">
    <item name="android:background">@drawable/tab_bg_selector</item>
</style>

我使用 api 级别 10 没有问题,但是当我在更高的 api 设备中运行我的代码时,操作栏处于其默认主题中。我在我的项目中使用支持库 v7。

4

1 回答 1

19

更新:从AppCompat 版本 21开始,所有 API 级别现在都使用不带前缀的样式名称,因此不再需要添加android:命名空间属性。

现在已过时:如果您使用支持库 v7 ActionBar,则需要两次声明自定义样式,一次不带android:前缀(对于 <v11 支持-这就是您所拥有的),一次带有(对于 >=v11 支持-您需要添加这个)根据样式化操作栏指南

于 2013-09-10T19:14:25.263 回答