Set android:showAsAction=“ifRoom|withText” program

2019-01-26 03:54发布

Is it possible to set the flags as suggested here android:showAsAction="ifRoom|withText" programmatically?

3条回答
我欲成王,谁敢阻挡
2楼-- · 2019-01-26 04:04

If you want to set these properties at run time then you need to do so on the MenuItem, not the 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);
}
查看更多
叛逆
3楼-- · 2019-01-26 04:14

Have you tried this:

getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_IF_ROOM);
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
查看更多
在下西门庆
4楼-- · 2019-01-26 04:17

For each MenuItem, do the following:

myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
查看更多
登录 后发表回答