自定义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),尝试了一切,不知道我哪里出错了,我感谢任何帮助.谢谢!

解决方法:

试试这个:

<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,删除android:工作

还尝试在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>

编辑:

<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>
上一篇:"日期时间选择器"组件: —— 快应用组件库H-UI


下一篇:《CSS重构:样式表性能调优》读书笔记