Actionbar不会更改Theme.AppCompat.Light的颜色

时间:2015-07-29 12:47:26

标签: java android

的AndroidManifest.xml

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat" >
        <activity
            android:name=".MainActivity"
            android:label="@string/cb_campaign"
            android:logo="@mipmap/ic_launcher"
            android:theme="@style/MyTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

styles.xml

 <resources>
        <style name="MyTheme" parent="@android:style/Theme.AppCompat.Light">
            <item name="android:actionBarStyle">@style/MyActionBar</item>
        </style>

        <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
            <item name="android:background">#FFCA09</item>
        </style>
    </resources>

MainActivity.java

public class MainActivity extends AppCompatActivity{
}

screenshot 编辑: 原始问题是:如何解决Android错误:java.lang.IllegalStateException:您需要使用Theme.AppCompat

更改了AndroidManifest.xml

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

但是动作背景颜色仍然没有改变。

4 个答案:

答案 0 :(得分:0)

只需打开“设计”视图,然后单击“AppTheme”按钮,只需更改主题。

全部。

答案 1 :(得分:0)

您可以从cheesesquare

了解一些材料设计

答案 2 :(得分:0)

您需要省略“android:”以使用向后兼容的属性:

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <!--Backwards compatibility-->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/red</item>
        <!--Backwards compatibility-->
        <item name="background">@color/red</item>
    </style>
    <color name="red">#FF0000</color>
</resources>

答案 3 :(得分:0)

对样式资源的引用,该资源定义应用程序中所有活动的默认主题。单个活动可以通过设置自己的主题属性来覆盖默认值。有关详细信息,请参阅样式和主题开发人员指南。

for n in range(1, len(listA)):
    try:
        while listA[n] < listB[n-1]:
            listA.pop(n)
            listB.pop(n - 1)
    except IndexError:
        break

机器人:主题=&#34; @风格/ Theme.AppCompat&#34;在<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.AppCompat"> <activity android:name=".MainActivity" android:label="@string/cb_campaign" android:logo="@mipmap/ic_launcher" android:theme="@style/MyTheme"> 标记中,您需要应用主题。 一个建议是更好地采用材料设计 stackoverflow link