Android - Menus
Links Relacionados: Programação de Aplicativos para Dispositivos Móveis
Menus
Os menus nos fornecem uma forma de acessar rapidamente algumas funcionalidades do nosso aplicativo. Vamos criar aqui um exemplo para mostrar como usar este recurso.
Criando o aplicativo
Comece criando uma nova aplicação chamada My Application Menu e na hora de escolher a Activity, selecione a Basic Activity. Deixe o resto como padrão. Não se esqueça de colocar o aplicativo em uma pasta de sua escolha.
Veja que agora temos dois layouts para a nossa Main, o activity_main.xml e o content_main.xml. No primeiro temos configurações dos menus e do botão em baixo. No segundo é onde colocamos o conteúdo da nossa activity. No caso deste exemplo, não vamos mexer nisso, apenas excluir o TextView.
Adicionando uma nova activity para o About
Agora vá em File -> New -> Activity -> Empty Activity e crie uma nova activity com o nome AboutActivity. O Layout Name irá mudar automaticamente. Deixe no padrão.
No arquivo AndroidManifest.xml observe que foi acrescentado uma nova activity:
<activity android:name=".AboutActivity"></activity>
Vamos dar um título para ela. Então altere a linha para:
<activity android:name=".AboutActivity" android:label="@string/about_title"></activity>
Alterando e Adicionando Strings
Teremos que criar uma string chamada about_title com o título desta activity. Aproveite e já acrescente a string com o texto que a activity irá conter. Para isso, vá em res/values/strings.xml e altere/acrescente as seguintes linhas:
<string name="about_title">About</string>
<string name="about_content">
This is just an illustrative text. Press the back button to go to the main activity.
</string>
|
Altere o item do menu chamado action_settings para action_about. Para isso faça um Refactor... Rename. Mude o texto para About. Depois acrescente o action_exit:
<string name="action_about">About</string>
<string name="action_exit">Exit</string>
Agora que já criamos uma string para o novo item do menu, vamos acrescentar este novo item em menu_main.xml:
<item
android:id="@+id/action_exit"
android:orderInCategory="101"
android:title="@string/action_exit"
app:showAsAction="never" />
|
Colocando um conteúdo no About
Na activity do About, acrescente um TextView e faça uma ligação do texto dele com a string about_content.
<TextView
android:id="@+id/textViewAboutContent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/about_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Para configurar os comportamentos. Iremos no método onOptionsItemSelected do MainActivity.java. Altere o conteúdo para ficar da seguinte forma:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Pega o item do menu que foi selecionado e faz alguma ação com ele.
int id = item.getItemId();
if (id == R.id.action_about) {
// Abre uma nova activity. Usa um intent pra isso.
startActivity(new Intent(MainActivity.this, AboutActivity.class));
} else if (id == R.id.action_exit) {
finish();
}
return super.onOptionsItemSelected(item);
}
|
Atividades
Crie um aplicativo com um Navigation Drawer Activity, adicione funcionalidades para ele, outras telas, etc. Modifique os itens dos menus lateral.