Android 安卓如何获得如下图所示的菜单

Android 安卓如何获得如下图所示的菜单,android,submenu,optionmenu,Android,Submenu,Optionmenu,在“我的活动”中有一个选项菜单,项目有一个子菜单。我想要一个子菜单项下面会来 我有这样的xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/file" android:icon="@drawable/file" android:title="@string/file" > &l

在“我的活动”中有一个选项菜单,项目有一个子菜单。我想要一个子菜单项下面会来

我有这样的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>

我知道选项菜单是可能的,但我想把一个子菜单项。 我该怎么做?
还有其他方法吗?

除了使用菜单,您应该显示自己的对话框:


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

您可以使用微调器:

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);
String na[]=新字符串[namelist.size()];
微调器spinname=(微调器)findViewById(R.id.networkname);
ArrayAdapter=新的ArrayAdapterthis,android.R.layout.simple\u spinner\u item,na);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinname.setAdapter(适配器);

代码如下:

@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;
}

我正试图在onclick内关闭警报。我该怎么做?
@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;
}