菜单按钮的可见性

时间:2011-12-21 05:51:13

标签: android menu

我正在努力满足关于菜单按钮可见性的家庭作业项目的规格。该项目声明应该有三个可见性按钮:all,x和y。按住x并单击y应该每个都会导致2个菜单项可见或不可见。单击全部应该导致所有4个项目可见或不可见。当所有4个项目都不可见时,应该可以看到3个可见性按钮。

我的问题是,当所有4个菜单项都不可见时,我无法找到让3个可见性按钮可见的方法。我在groups.xml中尝试了各种排序和分组无济于事。它应该很简单,但由于一些奇怪的原因,我无法弄明白。我也找不到任何可以学习的资源(不使用正确的单词进行搜索?)。请给我一些指示!谢谢。

1 个答案:

答案 0 :(得分:0)

Activity(或Fragment)中,您可以参考按钮,我会执行以下操作,其中可见性按钮的名称为x,{{1} }和y以及他们控制的四个按钮将是allbutton1button2button3

如果所有四个按钮都是隐形的,我们需要一种可以告诉我们的方法。为此,我们需要使用isShown()方法,如果button4可见性设置为Views,则返回true:

VISIBLE

当且仅当所有按钮的可见性都设置为private boolean areButtonsInvisible() { return !button1.isShown() && !button2.isShown() && !button3.isShown() && !button4.isShown(); } true时,此方法才会返回GONE

然后我们需要一种方法来处理三个视图状态按钮的可见性:

INVISIBLE

然后在private void handleViewButtons() { if( areButtonsInvisible() ) { x.setVisibility( View.VISIBLE ); y.setVisibility( View.VISIBLE ); all.setVisibility( View.VISIBLE ); } //You can handle other situations here as well. I haven't added any because you haven't stated anything about other scenarios. } OnClickListenersx的{​​{1}}中,您只需在设置y的可见性后添加对方法all的调用{1}},handleViewButtons()button1button2