将主题应用于v7支持操作栏

时间:2013-08-19 06:30:27

标签: android android-actionbar android-theme android-support-library

我正在使用支持v7库在我的应用中实现ActionBar ..我在我的styles.xml文件中有这个

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/ActionBarTheme</item>
    </style>
    <style name="ActionBarTheme" parent="android:Widget.ActionBar">
        <item name="android:background">#FFFF0000</item>
    </style>
</resources>

然而,Eclipse在actionBarStyle行抱怨。错误就是这个:

android:actionBarStyle requires API level 11 (current min is 8)

如何将我的主题应用于API级别8-10?

2 个答案:

答案 0 :(得分:11)

您需要提供两个API特定的styles.xml。在您的values / styles.xml中使用

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="actionBarStyle">@style/ActionBarTheme</item>
</style>

并在您的values-v14 / styles.xml中使用

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/ActionBarTheme</item>
</style>

答案 1 :(得分:0)

如果您使用最新的v7支持库(本文发布时为v21),则无需再将android:前缀添加到任何操作栏属性。

在您的情况下,将以下内容添加到values/styles.xml就足够了:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarStyle">@style/ActionBarTheme</item>
</style>

参考:https://chris.banes.me/2014/10/17/appcompat-v21/#migration-from-previous-setup