Android theme ActionBar(V7)的自定义主题不';行不通

Android theme ActionBar(V7)的自定义主题不';行不通,android-theme,android-actionbar-compat,android-actionbaractivity,Android Theme,Android Actionbar Compat,Android Actionbaractivity,我在应用程序中使用ActionBar。正如android开发者网站所说,我定制了自己的actionbar主题。不幸的是,我的风格无论如何都不管用。每次运行我的应用程序时,都会抛出一个非法状态异常。详细信息是“您需要在该活动中使用Theme.AppCompat主题(或子代)”。然后,我的定制风格如下: <resources> <!-- the theme applied to the application or activity --> <styl

我在应用程序中使用ActionBar。正如android开发者网站所说,我定制了自己的actionbar主题。不幸的是,我的风格无论如何都不管用。每次运行我的应用程序时,都会抛出一个非法状态异常。详细信息是“您需要在该活动中使用Theme.AppCompat主题(或子代)”。然后,我的定制风格如下:

<resources>

    <!-- the theme applied to the application or activity -->
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">#8FB01C</item>
        <!-- colorPrimaryDark is used for the status bar -->
        <item name="colorPrimaryDark">#CCE96B</item>
        <item name="colorAccent">#303A0A</item>
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">

        <!-- the theme applied to the application or activity -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
        <item name="android:actionMenuTextColor">@color/action_bar_text_color</item>

        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarTabTextStyle">@style/TabTextStyle</item>
        <item name="actionMenuTextColor">@color/action_bar_text_color</item>
    </style>
    <!-- ActionBar theme. -->
    <style name="ActionBarTheme" parent="AppTheme">
        <!-- when hide or show ActionBar frequently, use this attribute. -->
        <item name="windowActionBarOverlay">true</item>
    </style>

    <!-- general styles for the action bar -->
    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="android:titleTextStyle">@style/TitleTextStyle</item>
        <item name="android:background">@drawable/actionbar_background</item>
        <item name="android:backgroundStacked">@drawable/actionbar_background</item>
        <item name="android:backgroundSplit">@drawable/actionbar_background</item>

        <!-- Support library compatibility -->
        <item name="titleTextStyle">@style/TitleTextStyle</item>
        <item name="background">@drawable/actionbar_background</item>
        <item name="backgroundStacked">@drawable/actionbar_background</item>
        <item name="backgroundSplit">@drawable/actionbar_background</item>
    </style>

    <!-- action bar title text -->
    <style name="TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">#400040</item>
    </style>

    <!-- action bar tab text -->
    <style name="TabTextStyle" parent="@style/Widget.AppCompat.ActionBar.TabText">
        <item name="android:textColor">#400040</item>
    </style>

</resources>
它工作得很好。是的,这里:

<style name="ActionBarTheme" parent="AppTheme">


它不起作用。所以我想知道为什么。自定义样式不能被继承吗?我的开发环境有问题吗?或者其他什么问题吗?

也许这就是IDE的问题。如果您使用的是Eclipse
project
-->
clean
,然后选择您的项目,
OK
,那么您的项目将重新生成。如果您正在使用Android Studio,那么,
构建
-->
重建项目
清理项目
,然后查看结果。

好的,在ActionBarTheme更改为以下内容后:
<style name="ActionBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="colorPrimary">#8FB01C</item>
        <item name="colorPrimaryDark">#CCE96B</item>
        <item name="colorAccent">#4D4DFF</item>
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
        <item name="android:actionMenuTextColor">@color/action_bar_text_color</item>
        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarTabTextStyle">@style/TabTextStyle</item>
        <item name="actionMenuTextColor">@color/action_bar_text_color</item>
        <item name="windowActionBarOverlay">true</item>
    </style>
<style name="ActionBarTheme" parent="AppTheme">