Mám problémy s zmenou farby textu a jednotný MenuItem (nie v menu pretečenia, bez ikony, lentext) zvnútra fragmentu, zatiaľ čo niektorá podmienka x je pravdivá. Musím buď dať možnosť nastaviť štýl jednej položky a zmeniť ju počas behu, alebo programovo zmeniť jej farbu.
@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}
}
}
Bol by som rád, keby niekto mohol poskytnúť prístup, že sa dostanem do práce. Vopred ďakujem!
odpovede:
0 pre odpoveď č. 1Môžete zmeniť v onPrepareOptionsMenu. Zistite, či to funguje
@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);
}
0 pre odpoveď č. 2
Najprv som musel zmeniť naPrepareOptionsMenu, ako navrhla Geethakrishna Juluri, ale musel som tiež pridať riadok, aby som do menu TextView vložil titul menuItems.
@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);
}