【问题标题】:Setting a persistant android option menu设置持久的 android 选项菜单
【发布时间】:2011-12-03 08:59:41
【问题描述】:

我正在寻找一种方法,以便在不按模拟器的菜单按钮的情况下打开活动后立即将选项菜单保留在屏幕上,并且它应该在那里,直到按下菜单中的一个选项

目前我做了一个这样的选项菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/icon"
    android:icon="@drawable/icon" />
<item android:id="@+id/text"
    android:title="Text" />
<item android:id="@+id/icontext"
    android:title="Icon and text"
    android:icon="@drawable/icon" />
</menu>

我的代码是:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}


@Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) 
    {
        case R.id.icon:     
                            break;
        case R.id.text: 
                            break;
        case R.id.icontext: 
                            break;
      }
      return true;
  }

请对我的代码提出更改建议。

【问题讨论】:

    标签: android menu option


    【解决方案1】:

    Activity 的选项菜单可以分别用 openOptionsMenu 和 closeOptionsMenu 以编程方式打开和关闭

    @Override 
    public void onAttachedToWindow() { 
        super.onAttachedToWindow();  
        openOptionsMenu(); 
    } 
    

    然后关闭:

    closeOptionsMenu();
    

    对于不支持 onAttachedToWindow 的 lvls 可以使用延迟执行(不是最好的方法):

        new Handler().postDelayed(new Runnable() {
            public void run() {
                openOptionsMenu();
            }
        }, 1000);
    

    【讨论】:

    • 我在 android 1.6 中使用 onAttachedToWindow() 似乎有一些问题
    • 在 1.6 上,您可以在没有 super.onAttachedToWindow(); 的情况下使用此代码;行,那么它将永远不会被调用
    • 我已经编辑了,你可以用第二个选择,但不是很好的设计
    【解决方案2】:

    这个我没试过,但你可以看看openOptionsMenu。 然后在它打开后,你应该尝试拦截菜单按钮按下和后退按钮按下(否则你会关闭菜单)并且只有在选择了其中一个选项后才禁用它。

    话虽如此,这一切看起来都像是一个 hack,所以也许你应该考虑一个不同的解决方案来实现你想要实现的目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2018-08-12
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多