Menú en Android

Menús en Android

Un menú en Android es un componente que al pulsarlo se abre un desplegable con distintas opciones. Al comienzo de Android el menú se incluía en todos los proyectos debido a que los dispositivos Android disponían de un botón físico llamado menu. Desde la API 11 es un componente opcional y que no está relacionado con ningún botón. A continuación se muestra el código de un ejemplo de menú básico con tres opciones.

Menú

activity_main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="//schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:id="@+id/texto"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:text="Menú"
  11. />
  12. </LinearLayout>

MainActivity.java

  1. package xip.midominio.com.menu;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.Menu;
  5. import android.view.MenuItem;
  6. import android.widget.TextView;
  7. public class MainActivity extends AppCompatActivity {
  8. TextView texto;
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. texto = (TextView)findViewById(R.id.texto);
  14. }
  15. public boolean onCreateOptionsMenu(Menu menu){
  16. super.onCreateOptionsMenu(menu);
  17. MenuItem item1 = menu.add(0,1,1,"Item1");
  18. MenuItem item2 = menu.add(0,2,2,"Item2");
  19. MenuItem item3 = menu.add(0,3,3,"Item3");
  20. item1.setIcon(R.drawable.ic_launcher_foreground);
  21. item2.setIcon(R.drawable.ic_launcher_foreground);
  22. item3.setIcon(R.drawable.ic_launcher_foreground);
  23. return true;
  24. }
  25. public boolean onOptionsItemSelected(MenuItem item){
  26. int id = item.getItemId();
  27. texto.setText("\n Seleccionado "+id);
  28. //texto.append("\n Seleccionado "+id);
  29. return true;
  30. }
  31. }

Submenú

El submenú permite crear otras opciones dentro de las opciones principales ampliando la estructura anterior.

  1. package xip.midominio.com.menu;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.Menu;
  5. import android.view.MenuItem;
  6. import android.view.SubMenu;
  7. import android.widget.TextView;
  8. public class MainActivity extends AppCompatActivity {
  9. TextView texto;
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. texto = (TextView)findViewById(R.id.texto);
  15. }
  16. public boolean onCreateOptionsMenu(Menu menu){
  17. super.onCreateOptionsMenu(menu);
  18. SubMenu sub1 = menu.addSubMenu(0,1,1,"Sub1");
  19. SubMenu sub2 = menu.addSubMenu(0,2,2,"Sub2");
  20. MenuItem item1 = sub1.add(0,3,3,"Item1");
  21. MenuItem item2 = sub1.add(0,4,4,"Item2");
  22. MenuItem item3 = sub2.add(0,5,5,"Item3");
  23. MenuItem item4 = sub2.add(0,6,6,"Item4");
  24. return true;
  25. }
  26. public boolean onOptionsItemSelected(MenuItem item){
  27. int id = item.getItemId();
  28. if(id>2) {
  29. texto.setText("\n Seleccionado " + id);
  30. //texto.append("\n Seleccionado "+id);
  31. }
  32. return true;
  33. }
  34. }


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso