Android 从片段更改ActionBar中一个特定菜单项的TextColor
当某个条件x为真时,我很难从片段内部更改单个菜单项(不是在溢出菜单中,没有图标,只有文本)的文本颜色。我需要能够设置单个项目的样式并在运行时进行更改,或者通过编程方式更改其颜色Android 从片段更改ActionBar中一个特定菜单项的TextColor,android,android-fragments,styles,menuitem,textcolor,Android,Android Fragments,Styles,Menuitem,Textcolor,当某个条件x为真时,我很难从片段内部更改单个菜单项(不是在溢出菜单中,没有图标,只有文本)的文本颜色。我需要能够设置单个项目的样式并在运行时进行更改,或者通过编程方式更改其颜色 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_fragment_account_edit, menu); ((MultiPanelActi
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_fragment_account_edit, menu);
((MultiPanelActivity) getActivity()).setToolbarBackButtonVisibility(!Globals.isTablet());
if (mightBeChanges) {
//TODO implement active state with {android.R.attr.textColorSecondary}
} else {
//TODO implement inactive state with {R.attr.colorContrastDark}
}
}
如果有人能为我提供一种方法,我会很高兴,让我开始工作。
提前谢谢 您可以在OnPrepareOptions功能表中进行更改。看看它是否有效
@Override
public boolean onPrepareOptionsMenu(final Menu aMenu) {
final MenuItem menuItem = this.menu.findItem(R.id.user_id_label);
final TextView textView = (TextView) menuItem.getActionView();
//set color with condition
return super.onPrepareOptionsMenu(aMenu);
}首先,我必须按照吉塔克里希纳·朱鲁里建议的方式改变“准备”菜单, 但我还必须添加一行,将menuItems标题放入TextView
@Override
public boolean onPrepareOptionsMenu(final Menu aMenu) {
final MenuItem menuItem = this.menu.findItem(R.id.user_id_label);
final TextView textView = (TextView) menuItem.getActionView();
textView.setTextColor(SOME_COLOR);
textView.setText(menuItem.getTitle);
return super.onPrepareOptionsMenu(aMenu);
}
在xml中将app:actionViewClass=“android.widget.TextView”添加到menuitem后,我可以使用您的代码,但menuitem不再显示在actionbar中