È possibile impostare le bandiere come suggerito hereandroid:showAsAction="ifRoom|withText"
a livello di programmazione?Imposta android: showAsAction = "ifRoom | withText" al livello di programmazione
18
A
risposta
37
Per ogni MenuItem
, effettuare le seguenti operazioni:
myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
-1
Hai provato questo:
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_IF_ROOM);
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
13
Se si desidera impostare queste proprietà in fase di esecuzione, allora avete bisogno di farlo sul MenuItem
, non lo ActionBar
.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
MenuItem item = menu.findItem(R.id.your_menu_item);
item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
credo che dovrebbe essere '(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT)', a bandiera. – Geobits
Basato sulla [documentazione] (http://developer.android.com/reference/android/app/ActionBar.html#setDisplayOptions (int)), non penso che questo dovrebbe funzionare, dal momento che 'setDisplayOptions()' ha bisogno le costanti di ActionBar 'DISPLAY_' Sebbene alcune costanti [* do * si sovrappongano] (http://developer.android.com/reference/android/view/MenuItem.html#SHOW_AS_ACTION_ALWAYS). –
@Geobits Si prega di inviare la risposta, lo accetterò. –