您的位置:首页 > 产品设计 > UI/UE

隐藏ToolBar、ActionBar中的MenuItem

2016-10-10 15:31 471 查看

隐藏ToolBar、ActionBar中的MenuItem

最近在做手机文件管理器,遇到两个问题,一个是MenuItem的隐藏,一个是USB接口是否挂载设备的判断,当然都不是很难,这里分两篇博客一一为大家解答,先贴需求图:





这两个页面因为同属一个Activity,所以需要处理好MenuItem的显示问题,在进入存储目录前,是没有MenuItem的,那么该从何处入手,我们先贴一段代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item_Edit = menu.findItem(R.id.action_edit);
MenuItem item_Type = menu.findItem(R.id.action_type);
if (eListView.getVisibility() == View.VISIBLE){
item_Edit.setVisible(false);
item_Type.setVisible(false);
}else {
item_Edit.setVisible(true);
item_Type.setVisible(true);
}
return true;
}相信大家都很熟悉,这是Menu视图的创建方法,我们在里面根据条件决定是否需要显示MenuItem,如果能够有一个重调onCreateOptionsMenu方法的方法,那不就搞定了么,还真有这样的方法:

invalidateOptionsMenu();
supportInvalidateOptionsMenu();

这两个方法都可以满足你,他们的差别相信聪明的人一猜就知道,一个是SDK自带的,一个兼容包特有的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Bar ActionBar MenuItem Menu