以编程方式设置android:showAsAction =“ifRoom | withText”

时间:2013-02-28 14:42:49

标签: android android-actionbar actionbarsherlock

是否可以通过编程方式将标记设置为here android:showAsAction="ifRoom|withText"

3 个答案:

答案 0 :(得分:41)

对于每个MenuItem,请执行以下操作:

myMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

答案 1 :(得分:13)

如果要在运行时设置这些属性,则需要在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);
}

答案 2 :(得分:-1)

你试过这个:

getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_IF_ROOM);
getSupportActionBar().setDisplayOptions(MenuItem.SHOW_AS_ACTION_WITH_TEXT);