2015-09-27 6 views
1

Я просмотрел примеры Android в Интернете и просмотрел всю имеющуюся документацию, но я все еще путаюсь. Я нацелен на версию 19 Android SDK как minSDK. Все, что мне нужно сделать, это изменить цвет фона панели действий. Мой код по какой-то причине не работает.Изменить цвет панели действий

  1. Я хочу, чтобы цвет фона окна остальной части приложения был белым.
  2. Я хочу, чтобы фон панели действий был синим.

Ниже мой файл ресурсов:

<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light"> 
     <item name="android:windowBackground">@android:color/white</item> 
     <item name="android:actionBarStyle">@style/post_action_bar</item> 
    </style> 

    <style name="post_action_bar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">@android:color/holo_blue_dark</item> 
     <item name="android:backgroundStacked">@android:color/holo_blue_dark</item> 
     <item name="android:backgroundSplit">@android:color/holo_blue_dark</item> 
     <item name="android:windowActionBar">true</item> 
     <item name="android:windowNoTitle">false</item> 
    </style> 
</resources> 

Это не работает. Остальное приложение белое, но мой бар имеет сероватый цвет.

ответ

1

https://developer.android.com/training/basics/actionbar/styling.html

Здесь есть все, что подробно о стилизации панели действий.

С наилучшими пожеланиями

+0

я попытался только то, что сказано в ссылке - я верю. Посмотрите на мой код ресурса. –

2

Это так же просто, как добавить это к вашему AppTheme

<!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">@color/my_awesome_color</item> 

Примечание: это будет работать предварительно Lolipop, пока родитель вашу тему, от Theme.AppCompat и ваша библиотека поддержки является по крайней мере v21 , так что если у вас нету уже обновит поддержки LIB к последней, которая в это время v23.0.1 (я думаю)

compile 'com.android.support:appcompat-v7:23.0.1' 

Читать this, если вы хотите узнать больше о укладке ActionBar и более

+0

colorPrimary поддерживается в v21 не 19 –

+0

@OlivierTwist Прочитали ли вы ссылку в ответ? Позвольте мне просто процитировать это: «На старых платформах AppCompat эмулирует цветную тематику, где это возможно. На данный момент это ограничивается окраской панели действий и некоторых виджетов». – freddieptf

+0

Это означает, что до тех пор, пока родитель вашей темы находится из Theme.AppCompat, он будет работать pre-v21 – freddieptf

2

Вы можете попытаться установить программно в коде как

ActionBar ab = getActionBar(); 
    ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000"))); 
+0

Я хочу установить его через xml, а не код –

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