6

我正在使用 support 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?

4

2 回答 2

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>
于 2013-08-31T13:30:46.163 回答
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

于 2015-01-21T10:26:05.923 回答