我有:
<style name="AppTheme" parent="Theme.Sherlock.Light">
<item name="actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="actionMenuTextColor">#fff</item>
</style>
<style name="AppTheme.ActionBar" parent="@style/Widget.Sherlock.ActionBar">
<item name="android:textStyle">@style/AppTheme.ActionBar.Text</item>
</style>
<style name="AppTheme.ActionBar.Text" parent="@android:style/TextAppearance">
<item name="android:textColor">#fff</item>
</style>
和option_menu.xml
<item
android:id="@+id/menu_save"
android:showAsAction="always"
android:title="@string/save"
android:visible="true"/>
我试过this
和这个
SpannableString s = new SpannableString(menu.findItem(R.id.menu_save).getTitle());
s.setSpan(new ForegroundColorSpan(Color.WHITE), 0, s.length(), 0);
menu.findItem(R.id.menu_save).setTitle(s);
但是这个项目的文字仍然是黑色的。如何将其更改为白色?
答案 0 :(得分:1)
好的,我是通过设置actionViewClass:
来完成的 <item
android:id="@+id/context_menu_save"
android:actionViewClass="ru.seopult.cybermarketing.view.TextViewPlus"
android:showAsAction="always"
android:title="@string/save"
android:visible="false"/>
并在style.xml中:
<style name="AppTheme.ActionBar.TextButton" parent="AppTheme">
<item name="android:textSize">15sp</item>
<item name="android:textColor">#FFFFFF</item>
</style>
然后在onCreateOptionsMenu
写道:
TextViewPlus text = ((TextViewPlus)menu.findItem(R.id.context_menu_save).getActionView());
text.setTextAppearance(getActivity().getApplicationContext(), R.style.AppTheme_ActionBar_TextButton);
text.setText(menu.findItem(R.id.context_menu_save).getTitle());
text.setPadding(0, 0, 10, 0);