android 如何获取如下图所示的菜单

发布于 2024-12-03 07:35:48 字数 727 浏览 5 评论 0原文

在我的活动中,有一个选项菜单,对于某个项目,有一个子菜单。我想要下面的子菜单项menu style

我有这样的xml,

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/file"
          android:icon="@drawable/file"
          android:title="@string/file" >
        <!-- "file" submenu -->
        <menu>
            <item android:id="@+id/create_new"
                  android:title="@string/create_new" />
            <item android:id="@+id/open"
                  android:title="@string/open" />
        </menu>
    </item>
</menu>

我知道对于选项菜单这是可能的,但是我想添加一个子菜单项。 我怎样才能做到这一点? 还有其他方法可以做到这一点吗?

In my activity there is an option menu, for an item there is a submenu. I want for a submenu item below will comemenu style

i have xml like this,

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/file"
          android:icon="@drawable/file"
          android:title="@string/file" >
        <!-- "file" submenu -->
        <menu>
            <item android:id="@+id/create_new"
                  android:title="@string/create_new" />
            <item android:id="@+id/open"
                  android:title="@string/open" />
        </menu>
    </item>
</menu>

I know for option menu it is possible but i want to put for a submenu item.
How can i do that?
Is there any other way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

玩物 2024-12-10 07:35:48

您应该显示自己的对话框,而不是使用菜单:

http://developer.android .com/guide/topics/ui/dialogs.html

在此处输入图像描述

final CharSequence[] items = {"Red", "Green", "Blue"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();

You should display your own dialog isntead of using menu:

http://developer.android.com/guide/topics/ui/dialogs.html

enter image description here

final CharSequence[] items = {"Red", "Green", "Blue"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();
风吹雪碎 2024-12-10 07:35:48

您可以从 onkeyDown() 方法覆盖菜单按钮,并可以显示此对话框,表明它将显示为菜单本身......!

You can override the menu button from onkeyDown() method and can show this dialog show it will be displayed as a menu itself.....!

感情洁癖 2024-12-10 07:35:48

代码将是这样的:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    //return super.onKeyDown(keyCode, event);
    if(keyCode==KeyEvent.KEYCODE_MENU){
        // now create your dialog here
        return true;
    }
    return false;
}

The code will be like this:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    //return super.onKeyDown(keyCode, event);
    if(keyCode==KeyEvent.KEYCODE_MENU){
        // now create your dialog here
        return true;
    }
    return false;
}
池木 2024-12-10 07:35:48

您可以使用微调器:

String na[] = new String[namelist.size()];
Spinner spinname =(Spinner)findViewById(R.id.networkname); 
ArrayAdapter<String> adapter=new ArrayAdapter<String>this,android.R.layout.simple_spinner_item,na);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);         
spinname.setAdapter(adapter);

You can use spinner:

String na[] = new String[namelist.size()];
Spinner spinname =(Spinner)findViewById(R.id.networkname); 
ArrayAdapter<String> adapter=new ArrayAdapter<String>this,android.R.layout.simple_spinner_item,na);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);         
spinname.setAdapter(adapter);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文