¿Por qué está el menú desplegable de desbordamiento encima de la barra de acción?
¿Por omisión no se supone que está bajo la barra de acción? Entonces, ¿qué estoy haciendo mal?
- Cómo suprimir "advertencia: Ignorar el atributo InnerClasses para una clase interna anónima" con Gradle?
- Cómo consultar el valor de la columna que se establece como puntero a otra tabla en Parse
- Android: toma fotos sin interfaz de usuario
- Grails / Gradle prueba falla en CI no localmente
- Invocar una llamada de escucha programáticamente en android
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }
Res / menu / 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="com.example.test.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/action_settings" app:showAsAction="never"/> </menu>
- Convertir el número en doble
- Descodificación RSA con clave pública
- En Eclipse, no hay Android Project cuando voy a Archivo-> Nuevo-Proyecto
- Acercar a los marcadores google map V2
- Detect Beacon (Eddystone) con la API cercana de Android
- Cómo enviar el archivo binario y el texto usando el mismo socket
- Robotium - personalizar la duración PAUSE en la clase Sleeper
- El icono de 3 líneas no se anima en una imagen más pequeña en el Cajón de navegación
De acuerdo con las especificaciones de diseño de material , el menú de desbordamiento debe aparecer en la parte superior de la barra de acción:
Un menú es una hoja de papel temporal que siempre se superpone a la barra de aplicaciones, en lugar de comportarse como una extensión de la barra de aplicaciones.
Este es el comportamiento predeterminado para las aplicaciones de Android Lollipop, así como para cualquier aplicación que utilice la biblioteca de soporte AppCompat v7.
Este es el comportamiento predeterminado del tema AppCompat que está utilizando. De acuerdo con las directrices de Diseño de Material, se espera que el menú de desbordamiento aparezca en la parte superior de su ancla, el ActionBar.
Puede forzarlo a que se muestre debajo de la barra de acción si, configurando el tema overlapAnchor
a false
<style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow" > <item name="overlapAnchor">false</item> <item name="dropDownVerticalOffset">?attr/actionBarSize</item> </style>
Finalmente esto funciona para mí:
<resources> <style name="AppBaseTheme" parent="Theme.AppCompat.Light" /> <style name="AppTheme" parent="AppBaseTheme"> <item name="actionOverflowMenuStyle">@style/OverflowMenu</item> </style> <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow"> <!-- Required for pre-Lollipop. --> <item name="overlapAnchor">false</item> <!-- Required for Lollipop. --> <item name="android:overlapAnchor">false</item> </style> </resources>
Fuente: https://stackoverflow.com/a/27134045/3586815
Gracias a Nikola Despotoski por la pista.
Este es el nuevo valor predeterminado con Material Design. Los menús emergentes se mostrarán desde el Button
que los abrió.
Esto se hace para aumentar la conexión visual entre el Button
y el menú emergente. Basta con ver las aplicaciones de Googles que ya utilizan Material Design, allí los menús emergentes actúan de la misma manera.
- Android obtiene la fecha actual y la muestra en TextView
- ¿Reactiva Nativo Realmente Soporta Fragmentos Android?