4. Menus
4.1. Elaborando Menus
Os menus no Android geralmente são definidos em arquivos XML localizados no diretório res/menu. Na template Basic Views Activity, já existe um arquivo de menu criado automaticamente. Assim, para o nosso aplicativo, vamos reescrever esse arquivo.
Caso você precise de um novo menu, pode criar facilmente um novo arquivo XML, da mesma forma como criamos uma nova classe no projeto. De fato, cada atividade ou fragmento pode possuir seu menu específico. No caso do aplicativo Lista de Tarefas vamos adicionar um menu ao fragmento da página inicial.
O Android Studio oferece uma interface gráfica que facilita a criação e edição de menus. Ao abrir um arquivo XML do tipo menu, a paleta do designer exibe todas as opções disponíveis para personalizar os itens do menu que você deseja adicionar, tornando o processo mais intuitivo e visual.
Adicionando itens de menu
Para nosso aplicativo vamos precisar de um MenuItem. Você pode adicionar um novo MenuItem ou edite o existem e coloque as propriedades a seguir:
- id: action_logout
- icon: selecione o ícone de login
- title: Logout
- showasAction: ifRoom
Como resultado você deve ver a seguinte pré-visualização:
Propriedade showAsAction
O atributo android:showAsAction é usado em menus no Android para determinar como e onde um item do menu será exibido na interface de usuário. Esse atributo geralmente é especificado nos arquivos XML de menu, dentro de <item> tags, e afeta o comportamento dos itens de menu em relação à barra de ferramentas (toolbar) ou à Action Bar.
Seu comportamento pode ser:
- never
- O item nunca será exibido na Action Bar como um botão ou ícone.
- Ele sempre estará disponível no menu de overflow (os "três pontinhos" no canto superior direito da tela).
- ifRoom
- O item será exibido na Action Bar como um botão ou ícone somente se houver espaço suficiente.
- Caso contrário, será movido para o menu de overflow.
- always
- O item sempre será exibido na Action Bar como um botão ou ícone, independentemente do espaço disponível.
- Nota: Usar always é desencorajado, pois pode levar a uma interface desordenada em dispositivos com telas menores.
- withText
- O item será exibido na Action Bar com o ícone e o texto ao mesmo tempo.
- Isso geralmente é usado em dispositivos maiores e pode ser ignorado em dispositivos com telas pequenas.
- collapseActionView
- Este comportamento é usado com widgets interativos, como barras de busca ou caixas de texto.
- Quando configurado, o item é exibido como um ícone colapsado na Action Bar, mas pode expandir para mostrar uma visualização personalizada quando clicado.