2012-12-24 5 views
3

Я много искал и не мог решить свою проблему. Я хочу настроить панель действий приложения.Настройка Android ActionBar

Я звоню actiong так:

public boolean onCreateOptionsMenu(Menu menu) { 
super.onCreateOptionsMenu(menu); 
/* 
    * menu.add(int groupId, int itemId, int order, CharSequence title); 
    */ 
MenuItem menu0 = menu.add(0, 0, 0, "Action Item 0"); 
{ 
    menu0.setIcon(R.drawable.ic_launcher); 
    menu0.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
} 
return true; 
} 

И мой style.xml:

<resources> 

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

<style name="AppTheme" parent="AppBaseTheme"> 

</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:textColor">#CCCCCC</item> 
</style> 

Однако TextColor остается по умолчанию (# FFF), попытались все и не знаю, где я ошибаюсь, я ценю любую помощь. Спасибо!

+1

Что именно вы пытаетесь изменить цвет? Меню действий? – Andrei

+0

Цвет заголовка приложения в ActionBar –

ответ

3

Спасибо, ребята, я сделал то, что я хочу от этого урока: http://shreymalhotra.me/blog/tutorial/android/android-create-custom-themes-for-your-apps/

Добавлено это на OnCreate():

final ActionBar bar = getActionBar(); 

И изменить цвет заголовка мой style.xml выглядят так:

<style name="Theme.MyAppTheme" parent="android:style/Theme.Holo"> 
    <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">#ccc</item> 
</style> 

Обм: Я не уверен, но я думаю, что мой первый стиль будет работать с этой строкой по методу oncreate().

+2

Либо объясните/суммируйте то, что было в linky (запретите ссылку-rot! ** FYI **), или это скорее комментарий, а не ответ! – t0mm13b

+0

Хорошо, я отредактирую этот пост –

4

Попробуйте это:

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

<style name="AppTheme" parent="AppBaseTheme"> 

</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:textColor">#CCCCCC</item> 
    <item name="textColor">#CCCCCC</item> 
</style> 

Иногда из-за API вы используете, удаление андроида: работает

также попытаться определить цвет в color.xml и использовать этот способ:

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:textColor">@color/mColor</item> 
     <item name="textColor">@color/mColor</item> 
</style> 

EDIT:

<style name="MyActionBar"parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:titleTextColor">@style/MyTheme.ActionBar.TitleTextColor</item> 
</style> 

<style name="MyActionBar.TitleTextColor" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/mColor</item> 
</style> 
+0

Я использую min API 8. Eclipse не позволяет мне работать. В элементах без «андроида:» показано: «Ресурс не найден, который соответствует указанному имени: attr 'textColor'" –

+1

проверить отредактированную часть –

+0

Eclipse не распознает attr "android: titleTextColor", я не понять почему ... –

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