tres studio puntos icono boton barra bar atras agregar android android-menu

android - studio - ¿Cómo agregar botón de menú sin barra de acción?



menu bar en android studio (4)

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


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

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 inflado del menú, configuración del título, menú, haga clic en escucha.

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 la barra de acción. El tema simplemente lo elimina totalmente.


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

  1. Barra de creación y acción del mismo color que la del fondo para que no se muestre, luego agregue 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 use un menú emergente como lo sugiere @MY


Simplemente puede usar PopupMenu , por ejemplo, agregue lo siguiente a un botón al hacer 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 obtener más información, lea Cómo Creating a Popup Menu : http://developer.android.com/guide/topics/ui/menus.html


<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 anteriores 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 obtener más información, visite: https://developer.android.com/guide/topics/ui/menus.html