¿Cómo agregar el botón de menú sin barra de acción?

Me gustaría añadir un botón de menú a la esquina superior derecha de mi aplicación y sin barra de acción, como en la aplicación de Google Fit en la captura de pantalla de abajo. ¿Alguien puede ayudarme?

Botón de menú sin barra de acción

Simplemente puede utilizar PopupMenu , por ejemplo, agregue lo siguiente a un botón cuando haga clic:

 public void showPopup(View v) {  PopupMenu popup = new PopupMenu(this, v);  MenuInflater inflater = popup.getMenuInflater();  inflater.inflate(R.menu.actions, popup.getMenu());  popup.show(); } 

Para más información, lea Creating a Popup Menu : http://developer.android.com/guide/topics/ui/menus.html

Agregue una barra de herramientas al diseño y haga transparente. Esa es la mejor solución para agregar elementos de menú a un diseño mientras se da la apariencia no hay barra de acción / barra de herramientas.

Diseño

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- The rest of your code here --> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="56dp" android:background="@android:color/transparent"/> </RelativeLayout> 

Tema

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> </style> </resources> 

Ejemplo de inflar el menú, establecer el título, escuchar el botón de menú.

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("Toolbar"); toolbar.inflateMenu(R.menu.menu_main); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (item.getItemId() == R.id.action_refresh) { } return false; } }); 

No establezca la barra de herramientas como barra de acción. El tema lo elimina totalmente.

No creo que puedas agregar un menú sin barra de acción. Pero, hay dos enfoques que puedo pensar en off.

  1. Crear y barra de Acción del mismo color que el del fondo para que no se muestre, a continuación, agregar los menús.

  2. Simplemente agregue un botón en la esquina superior derecha de la pantalla y coloque el menú desplegable en el diseño.

O utilice un menú emergente según lo sugerido por @MY

 <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_overflow_holo_dark" android:contentDescription="@string/descr_overflow_button" android:onClick="showPopup" /> 

Agregue las líneas de arriba en el archivo xml donde desea mostrar este menú.

 public void showMenu(View v) { PopupMenu popup = new PopupMenu(this, v); // This activity implements OnMenuItemClickListener popup.setOnMenuItemClickListener(this); popup.inflate(R.menu.actions); popup.show(); } @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.archive: archive(item); return true; case R.id.delete: delete(item); return true; default: return false; } } 

Para más detalles, consulte: https://developer.android.com/guide/topics/ui/menus.html

  • Android.support.v7 con `ActionBarActivity` no se muestra ningún menú
  • ¿Cómo abrir el submenú después de hacer clic en el elemento de menú en el cajón de navegación?
  • ShowAsAction = "ifRoom" no muestra el elemento incluso cuando hay un montón de espacio
  • Cómo recargar el menú de Android en la misma actividad?
  • No se puede instanciar la clase android.support.v7.widget.SearchView
  • ¿Cómo puedo enfocar una vista de acción plegable Editar elemento de texto en la barra de acción (cuando se expande) y forzar el teclado virtual a abrir?
  • ¿Cómo obtengo una copia del icono del menú de desbordamiento de Android?
  • El menú de desbordamiento no se muestra en Android 4.2.2
  • Estilo de elemento de menú Arc como en la aplicación tumblr para Android
  • Utilice diferentes iconos con diferentes versiones de SDK de Android
  • ¿Cómo crear un TextView en el menú res \?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.