将android:Theme.Light更改为Theme.AppCompat.Light.DarkActionBar

时间:2014-05-20 21:55:06

标签: android android-theme

我有在android:Theme.Light中创建的应用程序。我想将其更改为Theme.AppCompat.Light.DarkActionBar,但我得到了

  

找不到与给定名称匹配的资源   ' theme.appcompat.light.darkactionbar'

我有android-support-v4.jar,当我尝试添加appcompat_v7时,我在代码中得到错误就像它一样......我可以将DarkActionBar添加到这个项目而没有代码问题吗?没有代码更改?

我有:

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

我想:

<resources>

    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    -->
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- API 14 theme customizations can go here. -->
    </style>

</resources>

2 个答案:

答案 0 :(得分:2)

使用资源(see documentation here)确保您的应用程序与支持库正确链接。

不要忘记@style/

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

这样可以防止发生no resource错误。 您可能也对this tutorial感兴趣。

答案 1 :(得分:0)

如果您在清单中执行此操作,请执行以下操作为整个应用设置主题:

 <application
    ...
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" 
    ...>

在您的特定主题的XML中,您需要@style,因此请输入以下内容:

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