Cursos / Informática para Internet / Dispositivos Móveis / Aula

arrow_back Aula 07 - Interfaces Gráficas III

Menus no Android

ActionBar e Menus

Da versão 3.0 em diante, é mais comum a utilização de Action Bar para acesso rápido a funções e também ao menu. A Figura 4 mostra uma Action Bar e seus elementos.

Action Bar com os elementos: Nome do aplicativo [1], itens de ações [2] e menu da aplicação [3].

A Action Bar é um recurso que identifica a navegação e ações do usuário pela aplicação. A Action Bar oferece aos usuários uma interface similar em todos os aplicativos Android, sendo adaptadas para diferentes configurações de tela. Para criarmos um menu numa Action Bar, primeiro devemos ativá-la na Activity em questão e depois definir os itens do menu, de forma semelhante ao OptionMenu.

Se estamos utilizando uma versão da 3.0 em diante, devemos utilizar algum dos temas Holo para a nossa aplicação, assim, a ActionBar já será ativada automaticamente. Se formos utilizar uma versão inferior, precisamos definir que o nosso projeto seja compatível, através da adição da biblioteca appcompat v7. Em seguida, criamos uma Activity estendendo a ActionBarActivity, e no AndroidManinfest devemos dizer que a nossa Activity deve usar algum tema do pacote Theme.AppCompat, como mostra a Listagem 10.

Listagem 10 - Definição do tema para uma Activity no AndroidManinfest

Ao ativar a ActionBar, por padrão já serão exibidos o nome do aplicativo a esquerda e o menu a direita. Para alterarmos os itens do menu, vamos criar um arquivo de layout chamado menu.xml, com as opções que deverão aparecer no menu, da mesma forma que vimos no Option Menu. Esse arquivo deve ser criado na pasta res -> menu. Caso seu projeto ainda não tenha essa pasta, adicione-a, clicando com botão direito na pasta res, escolhendo a opção New -> Android Resource Directory e então selecionando o resource type como menu. A Listagem 11 mostra o código do menu.xml, parte dessa pasta. Nele teremos uma opção chamada Configurações e outra chamada Ajuda.

Listagem 11 – Código do layout menu.xml

Perceba que a propriedade showAsAction é adicionada utilizando o nome de sua aplicação. Lembre-se de alterar quando for utilizar o exemplo!

Na nossa Activity também devemos definir os métodos onCreateOptionMenu() e onOptionsMenuSelected(), também da mesma forma que no exemplo do Option Menu. A Listagem 12 mostra o código desses dois métodos. Ao clicar em alguma das opções do menu, será exibido um Toast com o texto da opção selecionada. A Figura 5 mostra o exemplo sendo executado.

Listagem 12 – Activity implementando um menu na ActionBar
Exemplo de utilização de menu na ActionBar.

Versão 5.3 - Todos os Direitos reservados