Activity.java

 

import android.app.Activity;

import android.app.AlertDialog;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.SubMenu;

 

public class MenusViaProgramacaActivity extends Activity {

 

 final int MENU_EXECUTAR = 1;

 final int MENU_OPCOES = 2;

 final int MENU_SAIR = 3;

 final int MENU_OPCOES_CONTA = 4;

 final int MENU_OPCOES_DIF = 5;

 final int MENU_OPCOES_ZERAR = 6;

 

 @Override

 public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.main);

 }

 

 @Override

 public boolean onCreateOptionsMenu(Menu menu) {

 

         boolean result = super.onCreateOptionsMenu(menu);

 

         // menus normais

         menu.add(0, MENU_EXECUTAR, 0, "Executar");

         menu.add(0, MENU_SAIR, 0, "Sair");

 

         // cria um menu como submenu (com icone)

         SubMenu submenuOpcoes = menu.addSubMenu(0, MENU_OPCOES, 0, "Opções")

                         .setIcon(R.drawable.cogumelo);

         submenuOpcoes.add(0, MENU_OPCOES_CONTA, 0, "Conta");

         submenuOpcoes.add(0, MENU_OPCOES_DIF, 0, "Dificuldade");

         submenuOpcoes.add(0, MENU_OPCOES_ZERAR, 0, "Zerar");

 

         return result;

 }

 

 @Override

 public boolean onOptionsItemSelected(MenuItem item) {

 

         switch (item.getItemId()) {

         case MENU_SAIR:

                 finish();

                 break;

         case MENU_OPCOES_CONTA:

                 ExibirMsg(String.valueOf("Configurações de conta"));

                 break;

         case MENU_OPCOES_ZERAR:

                 ExibirMsg(String.valueOf("Zerar parâmetros"));

                 break;

         case MENU_OPCOES:

                 break;

         default:

                 ExibirMsg(String.valueOf(item.getItemId()));

                 break;

         }

 

         return super.onOptionsItemSelected(item);

 }

 

 public void ExibirMsg(String msg) {

         AlertDialog.Builder caixa = new AlertDialog.Builder(this);

         caixa.setMessage(msg);

         caixa.setTitle("Mensagem");

         caixa.setNeutralButton("OK", null);

         caixa.show();

 }

}

 

Telas

 

Tela de menu

Tela de submenu