android Lollipop原色不变

时间:2015-06-07 13:09:12

标签: android colors android-actionbar

根据此页面http://developer.android.com/training/material/theme.html#ColorPalette

我可以通过更改原色来更改操作栏颜色。

<resources>
<!-- your theme inherits from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
        <item name="android:colorPrimary">#ff9688</item>
        <!--   darker variant for the status bar and contextual app bars -->
        <item name="android:colorPrimaryDark">#00796B</item>
        <!--   theme UI controls like checkboxes and text fields -->
        <item name="android:colorAccent">#8BC34A</item>
   </style>
</resources>

但是,将其插入我的styles.xml文件对操作栏没有影响。

1 个答案:

答案 0 :(得分:0)

您需要确保您的清单正在使用该主题。

例如,this sample project会将自定义色调应用于Theme.Material操作栏。它有一个类似于你的主题,虽然我把颜色拉到颜色资源中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="AppTheme" parent="android:Theme.Material">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>

然后,在我的清单中,我通过清单中android:theme元素中的<application>属性应用主题:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.commonsware.android.abmatcolor"
    android:versionCode="1"
    android:versionName="1.0">

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"/>

    <uses-sdk
        android:minSdkVersion="21"
        android:targetSdkVersion="21"/>

    <application
        android:allowBackup="false"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name="ActionBarDemoActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>