2014-12-17 2 views
0

Я видел несколько потоков на этом, но я не могу найти решение моей проблемы. Я хочу, чтобы создать панель действий пользовательский так, чтобы начать Я просто пытался что-то простое, как только пользовательский цвет:Android настроить AppCompat ActionBar

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

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

Тогда в моем Manifest у меня есть:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/CustomActionBarTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 

Мой MainActivity также extends ActionBarActivity

Я получал ошибку, говоря, что мне нужно применить Theme.AppCompat к моему Activity, но я больше не получаю эту ошибку. Мое приложение компилируется и запускается, но панель действий является стандартным черным, а не красным (# FF0000).

В конце концов я хочу, чтобы моя панель действий была прозрачной, но я решил, что сначала разобрался. Любая помощь будет оценена по достоинству.

ответ

2

Как сказано в documentation, для ретро-совместимости, вы должны использовать actionBarStyle вместе с android:actionBarStyle:

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

<style name="MyActionBar" 
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="android:background">#FF0000</item> 
</style> 
0

Если вы хотите гибкость использования панели инструментов вместо ActionBar. Я не думаю, что вы можете сделать панель действий по умолчанию transpatent, и вы можете добиться этого с помощью панели инструментов. Подробнее здесь http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html

0

С новыми свойствами стиля AppBompat-v7 (v21) ActionBar необходимо обратиться к пространству имен приложений, то есть без префикса android:.

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