Android改变动作栏颜色

时间:2016-03-31 16:18:43

标签: android android-studio

我想更改操作栏颜色,但我不知道该怎么做。我应该添加什么来改变风格?

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->

</style>

</resources>

7 个答案:

答案 0 :(得分:7)

这就是改变操作栏颜色所需的全部内容:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">#995544</item>
</style>

答案 1 :(得分:2)

简单的单行代码

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.red)));

答案 2 :(得分:1)

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style

此处colorPrimary属性可帮助您更改操作栏的颜色。 For more details see this fig.

答案 3 :(得分:0)

如果你的minSdk是21或更高,你可以添加以下内容:

<item name="colorPrimary">@color/yourColor</item>

如果没有,请进行以下更改:

  1. 您的活动必须延长AppCompatActivity

  2. 将您的主题更改为@style/Theme.AppCompat.Light.NoActionBar

  3. 将其添加到活动xml文件的顶部:

    <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

  4. onCreate来电后,将其放入super.onCreate方法:

    Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar);

  5. 要更改颜色,只需将?attr/colorPrimary替换为@color/yourColor

答案 4 :(得分:0)

请尝试以下代码:

<style name="AppCompatTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:background">#ff540e9e</item>
    <item name="android:textColor">#ffffff</item>
</style>

答案 5 :(得分:0)

该代码适用于我,它也会更改文本颜色

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
</style>

<style name="AppTheme.ActionBar" parent="Widget.AppCompat.Light.ActionBar">
    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
    <item name="titleTextStyle">@style/AppTheme.ActionBar.TitleText</item>
    <item name="background">@color/colorPrimary</item>
    <item name="android:height">150dp</item>
    <item name="height">60dp</item>
</style>

<style name="AppTheme.ActionBar.TitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textSize">15dp</item>
    <item name="android:textColor">@color/colorAccent</item>
</style>

答案 6 :(得分:-1)

您可以在res / values / styles.xml文件中自定义应用的当前主题:

   <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
         // your custom styles added to theme        
     <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
 </style>


     //Cutomise your theme by specifying layout,color, font type etc:
 <style name="MyActionBarTheme" 
        parent="@android:style/Widget.AppCompat.Light.DarkActionBar">
     // sets the background color of the activity/app:  
     <item name="android:background">#33FF33</item>
 </style>

然后,您需要将新的自定义主题名称添加到您的应用清单文件