是否可以通过编程的方式设置标志,如建议hereandroid:showAsAction="ifRoom|withText"
?
MenuItem
,执行以下操作:myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
MenuItem
上进行设置,而不是在 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);
}
你试过这个吗:
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_IF_ROOM);
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
。 - GeobitssetDisplayOptions()
需要ActionBar的DISPLAY_
常量。尽管如此,一些常量确实会重叠[*](http://developer.android.com/reference/android/view/MenuItem.html#SHOW_AS_ACTION_ALWAYS)。 - A--C
myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
,但它没有起作用,它只允许输入一个值类型,是否有其他方法? - Jan sebastian