2011-09-07 44 views
0

在我的活動中有一個選項菜單,對於一個項目有一個子菜單。我想下面的子菜單項會menu styleandroid如何得到下面的菜單圖像

我有這樣的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> 

我知道選項菜單是可能的,但我想提出一個子菜單項。 我該怎麼做? 有沒有其他方法可以做到這一點?

回答

2

您應該顯示使用的菜單自己的對話框isntead:

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(); 
+0

我這樣做,但這種對話沒有顯示,爲什麼? – Jyosna

+0

如何顯示對話框? – Jyosna

+0

我得到了那個感謝 – Jyosna

0

您可以覆蓋從onkeydown事件(菜單按鈕)方法,並能顯示這個對話框顯示它將顯示爲一個菜單本身.....!

+0

怎麼能給我這個例子? – Jyosna

0

您可以使用微調:

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); 
0

的代碼將是這樣的:

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