【发布时间】:2016-12-10 17:07:24
【问题描述】:
【问题讨论】:
-
仅当 SearchView 打开时还是一直打开?
-
@GSala 仅当 SearchView 打开时
标签: android android-layout material-design
【问题讨论】:
标签: android android-layout material-design
在 onPrepareOptionsMenu 中设置为 false
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
return false;
}
【讨论】:
也许这对你有帮助
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_activity, menu);
MenuItem searchMI = (MenuItem) menu.findItem(R.id.menu_search);
searchMI.setOnActionExpandListener(new OnActionExpandListener(){
@Override
public boolean onMenuItemActionCollapse(MenuItem menuItem) {
// Hide menu icon
return true;
}
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
// Show menu icon
return true;
}
});
return true;
}
您可以像这样显示或隐藏图标:
menu.findItem(R.id.yourActionId).setVisible(true);
menu.findItem(R.id.yourActionId).setVisible(false);
【讨论】:
MenuItemCompat.setOnActionExpandListener而不是setOnActionExpandListener?其余代码应该是一样的
您需要将所有其他菜单项一一隐藏...
@Override
public boolean onMenuItemActionExpand (MenuItem item){
menu.getItem(MENU_MAIN_REFRESH).setVisible(false);
menu.getItem(MENU_MAIN_SETTINGS).setVisible(false);
menu.getItem(MENU_MAIN_EXIT).setVisible(false);
return true;
}
【讨论】: