如何隐藏选项菜单?

时间:2015-08-24 06:38:01

标签: android menu android-actionbar optionmenu

我正在使用选项选择菜单项,附上三项(共享,登录,注销)选择登录项,登录活动登录社交标志(脸书或谷歌)任何一个,如果登录隐藏登录项同时显示注销item,同样的类型,如果注销社交标志显示登录项目菜单,请帮帮我...

http://www.vogella.com/tutorials/AndroidTestingEspresso/article.html

2 个答案:

答案 0 :(得分:24)

步骤:1)menu.xml定义所有三个菜单项。登录,注销和共享之后,默认情况下将注销可见性设置为false

android:visible="false"

并显示剩余的两个项目。可选,因为默认情况下所有项目都在android中可见

步骤:2)当您登录时,活动会膨胀该xml.and无需对活动进行任何更改 在这一点上,我们只显示登录和共享菜单项,我们已经在xml中将logOff项可见性设置为false。

步骤:3)当您处于主要活动(登录活动后显示的活动)时,请执行以下操作

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    inflater.inflate(R.menu.menu, menu);

    MenuItem item = menu.findItem(R.id.login_id);
            item.setVisible(false);//
    MenuItem item = menu.findItem(R.id.logOff_id);
            item.setVisible(true);
    super.onCreateOptionsMenu(menu, inflater);
}

在这一点上,您将获得logOff并共享,因为我们已将登录菜单项可见性设置为false。

答案 1 :(得分:7)

在成功登录后的Activity中,处理menuItemActionBar的处理并更改其可见性状态

getMenu().findItem(R.id.login_menu_id).setVisible(false);

如果您正在使用Toolbar,那么它就像

toolbar.getMenu().findItem(R.id.login_menu_id).setVisible(false);

因此setVisible(boolean)会改变menuItem的可见性。希望这有帮助