Diseño del menú emergente en Android 5.0
Estoy haciendo mi aplicación lista para Android 5.0, estoy usando la última compatibilidad de la biblioteca, aquí es lo que mi estilo se parece.
<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/theme_accent</item> <item name="colorAccent">@color/theme_accent_secondary</item> </style> <style name="AppThemeDark" parent="Theme.AppCompat"> <item name="colorPrimary">@color/theme_accent</item> <item name="colorAccent">@color/theme_accent_secondary</item> </style> </resources>
(El color de ActionBar se está configurando de forma programática.)
- Cómo reparar sombra en FloatingActionButton escalado mediante la biblioteca de soporte 23
- ¿Cómo puedo utilizar EditText en lugar de TextView y abrir la fechaPicker en un solo clic?
- Android CardView no funciona en Api 21
- Cómo crear AppCompatDialog de AlertDialog.Builder o equivalente?
- ¿Cómo hacer el diálogo de diseño de material de pantalla completa?
Ahora, quiero que el menú de desbordamiento / popup tenga el fondo oscuro como en la implementación holo, pero no puedo conseguir que funcione, aquí es lo que parece:
He intentado fijar el popupMenuStyle
pero no trabajó.
¿Cómo puedo hacer que el menú emergente sea más oscuro?
- Configuración de la aplicación: layout_behavior mediante programación
- Espacio en blanco debajo de CoordinatorLayout en DrawerLayout
- Diseño de materiales Android
- Android AppCompat-v21 vs Material puro
- Uso de varios DotSpan en MaterialCalendarView
- Android: cambiar dinámicamente el icono FAB (botón de acción flotante) del código
- Estilizar / colorear el botón SwitchCompat en Android Lollipop para el diseño del material
- ¿Cómo cambiar el color de ActionBar al pasar entre fragmentos (diseño de material)?
Deje de usar el ActionBar
. Si desea configurar una ActionBar
ToolBar
como una ActionBar
, siga esta guía en el blog de desarrolladores de android.
Realmente menciona su caso de uso en Dark Action Bar y proporciona este código:
<android.support.v7.widget.Toolbar android:layout_height=”wrap_content” android:layout_width=”match_parent” android:minHeight=”@dimen/triple_height_toolbar” app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
No es una respuesta completa, pero lo que he encontrado hasta ahora:
En las versiones pasadas era necesario especificar un drawable (consulte https://github.com/StylingAndroid/StylingActionBar código y tutoriales)
Al parecer, ahora que es un color. Para modificarlo es necesario especificar el siguiente tema:
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> <item name="android:actionBarPopupTheme">@style/popupNew</item> </style> <style name="popupNew" parent="android:ThemeOverlay.Material.Light"> <item name="android:colorBackground">@color/red</item> </style> </resources>
Esto funciona correctamente si el tema aplicado a la aplicación es justo esto. Si agrego android:actionBarPopupTheme
a mi tema existente, no funciona. Estoy tratando de averiguar por qué.
Añade la propiedad popupTheme a tu barra de herramientas:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/color_primary" app:theme="@style/Theme.AppCompat.Light" app:popupTheme="@style/Theme.AppCompat" />
O defina un nuevo estilo para su barra de herramientas:
<style name="MyToolBarStyle" parent="Widget.AppCompat.Toolbar"> <item name="android:background">@color/green</item> <item name="popupTheme">@style/Theme.AppCompat.Light</item> <item name="theme">@style/Theme.AppCompat</item> </style>
Resolvió mi problema usando este estilo:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/theme_accent</item> <item name="colorAccent">@color/theme_accent_secondary</item> <item name="actionBarStyle">@style/AbStyle</item> <item name="actionModeBackground">@color/actionmode_bg</item> </style> <style name="AbStyle" parent="Widget.AppCompat.Toolbar"> <item name="elevation">2dp</item> <item name="displayOptions">homeAsUp|showTitle</item> <!--showHome--> </style> <style name="AppThemeDark" parent="Theme.AppCompat"> <item name="colorAccent">@color/theme_accent_secondary</item> <item name="actionBarStyle">@style/AbStyle</item> </style>
Tuve que usar Widget.AppCompat.Toolbar como el padre actionBarStyle
- ListView con alfabetos a la derecha, como el iPhone. ¿Es posible?
- Obtener el tamaño mostrado de una imagen dentro de un ImageView