En Android , hay tres tipos de menús disponibles para definir un conjunto de opciones y acciones en nuestras aplicaciones de Android.
Los Menús en aplicaciones android son los siguientes:
- Menú de opciones de Android
- Menú contextual de Android
- Menú emergente de Android
Los menús de opciones de Android son los menús principales de Android. Se pueden usar para la configuración, la búsqueda, la eliminación de elementos, etc. El atributo Mostrar acción decide cuándo y cómo debe aparecer este elemento como un elemento de acción en la barra de la aplicación. Los valores que se pueden dar para el atributo showAsAction :
- siempre : esto asegura que el menú siempre se mostrará en la barra de acción.
Sintaxis:
app:showAsAction="always"
Ejemplo:
<
item
android:id
=
"@+id/message"
android:icon
=
"@android:drawable/ic_menu_send"
app:showAsAction
=
"always"
android:title
=
"message"
/>
- nunca : Esto significa que el menú nunca se mostrará y, por lo tanto, estará disponible a través del menú de desbordamiento
Sintaxis:
app:showAsAction="never"
Ejemplo:
<item
android:id=
"@+id/exit"
app:showAsAction=
"never"
android:title=
"exit"
/>
A continuación se muestra el código completo para implementar el menú de opciones en Android:
activity_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/message" android:icon="@android:drawable/ic_menu_send" app:showAsAction="always" android:title="message"/> <item android:id="@+id/picture" android:icon="@android:drawable/ic_menu_gallery" app:showAsAction="always|withText" android:title="picture"/> <item android:id="@+id/mode" android:icon="@android:drawable/ic_menu_call" app:showAsAction="always" android:title="mode"/> <item android:id="@+id/about" android:icon="@android:drawable/ic_dialog_info" app:showAsAction="never|withText" android:title="calculator"/> <item android:id="@+id/exit" app:showAsAction="never" android:title="exit"/> </menu>
MainActivity.java
package com.example.menu; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import static android.widget.Toast.LENGTH_LONG; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.message: Toast .makeText( getApplicationContext(), "Shows share icon", Toast.LENGTH_SHORT) .show(); return true; case R.id.picture: Toast .makeText( getApplicationContext(), "Shows image icon", Toast.LENGTH_SHORT) .show(); startActivity(i2); return (true); case R.id.mode: Toast .makeText( getApplicationContext(), "Shows call icon", Toast.LENGTH_SHORT) .show(); return (true); case R.id.about: Toast .makeText( getApplicationContext(), "calculator menu", Toast.LENGTH_SHORT) .show(); return (true); case R.id.exit: finish(); return (true); } return (super.onOptionsItemSelected(item)); } }