我搜索了很多,无法解决我的问题。 我想自定义我的应用的操作栏。
我用这种方式调用动作:
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),尝试了一切,不知道我哪里出错,我感谢任何帮助。谢谢!
答案 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,删除 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>
答案 1 :(得分: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>
Obs:我不确定,但我认为我的第一个样式将在oncreate()方法中使用该行。