2011-01-03 16 views
0

Ich möchte Optionsmenü erstellen und die Menüpunkte in Optionsmenü angezeigt werden in List, um ..Android Menüoptionen

Menü 1

Menü 2

Menü 3

+0

Dieser Beitrag ist nicht in Form einer Frage. Mit was hast du Probleme? –

Antwort

2

Haben Sie gelesen this? Lesen Sie Ihre Frage, ich glaube nicht, Sie haben gegoogelt es auch in erster Linie ..

+0

+1 Ich stimme zu, und der Link hat eine hilfreiche Erklärung. Unabhängig davon, ob Sie bereits nach einer Antwort gesucht haben, sollte dies lösen. – Matt

+0

Ich weiß das .. Ich möchte die Menüeinträge von oben nach unten wie Listenansicht nicht in gewöhnlicher Weise als nebeneinander anzeigen .. Versuchen Sie meine Frage zu verstehen n Antwort. – VenkateshRaghavan

+0

Für uns, um Ihre Frage zu verstehen, müssen Sie schreibe vorher eine Frage. –

5

Ich kämpfte mach dasselbe, und hier ist, was am Ende funktioniert hat. Im Grunde habe ich, anstatt das Optionsmenü anzuzeigen, ein Kontextmenü verwendet.

Zuerst müssen Sie die Menü-Taste erfassen und dazu führen, dass ein Kontextmenü anzuzeigen:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_MENU) { 
     View view = findViewById(R.id.for_context); 
     registerForContextMenu(view); 
     openContextMenu(view); 
     unregisterForContextMenu(view); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

Sie haben dieses Kontextmenü in dem Fenster auf einen Blick zu befestigen, jede Ansicht, die nicht existiert ein eigenes reales Kontextmenü. Ich benutzte eines der Layouts, die ich im Fenster hatte.

Dann blasen Sie das Menü:

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    MenuInflater inflater = getMenuInflater(); 
    if (v instanceof TableLayout) { 
     inflater.inflate(R.menu.my_context_menu, menu); 
    } 
} 

my_context_menu.xml genau wie ein Optionsmenü definiert ist.

Der letzte Schritt besteht darin, die Menübefehle in onContextItemSelected (MenuItem-Element) zu handhaben, die Sie zu onOptionsAutomation (MenuItem-Element) umleiten können.

Dies gilt natürlich nur, wenn Sie Ihr Menü wie ein Kontextmenü anzeigen möchten: keine Symbole, nur Menübezeichnungen in einer vertikalen Liste.

+0

Ihre Gedankengänge sind alle sehr gut, aber ich kann R.id.for_context nicht verstehen, ich will diese Ansicht nicht zeigen, können Sie mehr Detail geben oder Beispiel danke – pengwang

+0

R.id.for_context ist nur eine Ihrer Ansichten, die tut nicht selbst über ein Kontextmenü verfügen, mit dem Sie Android dazu bringen können, ein Kontextmenü zu erstellen (Kontextmenüs müssen an eine Ansicht angehängt werden). –

+0

danke, ich werde versuchen – pengwang

Verwandte Themen