将一组按钮更改为菜单

时间:2013-11-21 11:46:22

标签: java android layout android-menu

所以我的布局上有3个不同的按钮。现在,当我为手机等创建我的布局时,我认为该页面上有3个按钮是浪费空间。这些按钮背后已经有很多代码逻辑,用于设置可见性,根据情况等替换字符串。

我的问题是,是否有一种简单的方法可以将它们更改为菜单,是否可以简单地在主页面上复制我为它们设置的布局XML,并将其粘贴到菜单中?

该菜单将从一个简单的按钮打开,然后显示菜单内的所有3个按钮。所以他们一直没有占用空间。这会破坏我已有的代码吗?想象一下,我有以下代码。它还会

吗?
            bLogin.setText(getResources().getString(R.string.Exit));
bLogin.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {

等等。我关注菜单行为,当我点击其中一个选项时,它会关闭吗,可见性属性会让男人陷入困境等等。

2 个答案:

答案 0 :(得分:0)

您可以添加第四个按钮(让我们称之为menuButton),用于显示/隐藏其他三个按钮。然后,您可以将OnClickListener添加到menuButton,并将其他三个按钮的可见性设置为VISIBLEGONE,反之亦然。

所以:

Button menuButton = (Button)findViewById(R.id.menuButton);
menuButton.setOnClickListener(new OnClickListener() {
    public void onClick(View view) {
        if (buttonsVisible) {
            otherButton1.setVisibility(View.GONE);
            ...
        } else {
            ...
        }
   }
});

答案 1 :(得分:0)

您可以使用菜单或操作栏,这样可以简化您的操作(您不必担心显示/隐藏按钮等)。检查docs。此外,如果您使用的是Android 3.0+,建议您迁移到操作栏:

  

在Android 3.0及更高版本中,选项菜单中的项目由操作栏显示为屏幕操作项和溢出选项的组合。从Android 3.0开始,不推荐使用“菜单”按钮(某些设备没有),因此您应该使用操作栏进行迁移,以提供对操作和其他选项的访问。

当然,需要做一些工作,但最后,你会有一个更灵活的解决方案(例如,如果你以后想要添加另一个动作......)