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 |