2016-06-21 5 views
-1

Я бы хотел, чтобы мой Action Bar имел фон со значением @ color/colorPrimary (последний элемент), но в моем приложении панель действий имеет тот же цвет, что и мой фон. Похоже, что они оба - один элемент. Как я могу создать свою панель действий (шрифт, фон, ...)? Мне не придется настраивать его динамически, он будет поддерживать один и тот же цвет во всех действиях.Как изменить цвет фона моей панели действий (Material Design)?

<resources> 
    <style name="AppTheme" parent="android:Theme.Material"> 
     <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="android:colorPrimary">@color/colorPrimary</item> 
     <item name="android:background">@color/background</item> **BACKGROUND** 
     <item name="android:actionBarStyle">@color/colorPrimary</item> **ACTION BAR** 
    </style> 
</resources> 

color.xml

<resources> 
    <color name="colorPrimary">#E91E63</color> 
    <color name="colorPrimaryDark">#880E4F</color> 
    <color name="colorAccent">#E91E63</color> 
    <color name="background">#FCE4EC</color> 
</resources> 

My Action Bar не применяется, цвет я хочу.

+0

ActionBar получить colorPrimary как его цвет –

+1

Перейти к 'color.xml' и измените' colorPrimary' или изменение в 'style.xml' – Joshua

+0

I сделали оба ваших предложения, это не сработало ... – Helenesh

ответ

0

Попробуйте этот фрагмент кода

<resources> 
     <!-- Base application theme. --> 
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
      <!-- Customize your theme here. --> 
<item name="android:statusBarColor">@color/colorPrimaryDark</item> 
      <item name="colorPrimary">@color/color_primary</item> 
      <item name="colorPrimaryDark">@color/color_primary_dark</item> 
      <item name="colorAccent">@color/accent_color</item> 
     </style> 
    </resources> 

От Java:

requestWindowFeature(Window.FEATURE_ACTION_BAR); 
    getActionBar().setBackgroundDrawable(
      new ColorDrawable(Color.parseColor("#1e8d93"))); 
+0

Ну, я действительно хочу применить тему материала, а не AppCompat one – Helenesh

+0

@Helenesh, попробуйте this-getActionBar(). setBackgroundDrawable ( новый ColorDrawable (Color.parseColor) ("# 1e8d93"))); – Sreekanth

+0

Спасибо, но я все еще не могу заставить его работать ... – Helenesh

0

Использование android:background в вашем приложении тема не является хорошей идеей, так как это будет применять цвет фона все Просмотры , включая панель действий. Вместо этого используйте android:windowBackground, чтобы установить цвет фона фона.

0

Вы можете установить его цвет, как это:

ActionBar ab = getSupportActionBar(); 

if(ab != null) { 
    ab.setBackgroundDrawable(new ColorDrawable(Color.RED)); 
} 
+0

К сожалению, это не работает – Helenesh

Смежные вопросы