Diseño de material que no diseña diálogos de alerta

He añadido el diseño de material appCompat a mi aplicación y parece que los cuadros de diálogo de alerta no utilizan los colores primario, primaryDark o acento.

Aquí está mi estilo base:

<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/apptheme_color</item> <item name="colorPrimaryDark">@color/apptheme_color_dark</item> <item name="colorAccent">@color/apptheme_color</item> <item name="android:textColorPrimary">@color/action_bar_gray</item> </style> 

Según mi comprensión, el texto del botón de diálogos también debe utilizar estos colores. ¿Estoy equivocado en mi entendimiento o hay algo más que tengo que hacer?


Solución:

La respuesta marcada me puso en el camino correcto.

 <style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/apptheme_color</item> <item name="colorPrimaryDark">@color/apptheme_color_dark</item> <item name="colorAccent">@color/apptheme_color</item> <item name="android:actionModeBackground">@color/apptheme_color_dark</item> <item name="android:textColorPrimary">@color/action_bar_gray</item> <item name="sdlDialogStyle">@style/DialogStyleLight</item> <item name="android:seekBarStyle">@style/SeekBarNavyTheme</item> </style> <style name="StyledDialog" parent="Theme.AppCompat.Light.Dialog"> <item name="colorPrimary">@color/apptheme_color</item> <item name="colorPrimaryDark">@color/apptheme_color_dark</item> <item name="colorAccent">@color/apptheme_color</item> </style> 

Con la nueva AppCompat v22.1 puede utilizar el nuevo android.support.v7.app.AlertDialog .

Sólo usa un código como este:

 import android.support.v7.app.AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AppCompatAlertDialogStyle); builder.setTitle("Dialog"); builder.setMessage("Lorem ipsum dolor ...."); builder.setPositiveButton("OK", null); builder.setNegativeButton("Cancel", null); builder.show(); 

Y usa un estilo como este:

 <style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <item name="colorAccent">#FFCC00</item> <item name="android:textColorPrimary">#FFFFFF</item> <item name="android:background">#5fa3d0</item> </style> 

De lo contrario, puede definir en su tema actual:

 <style name="AppTheme" parent="Theme.AppCompat.Light"> <!-- your style --> <item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item> </style> 

Y luego en su código:

  import android.support.v7.app.AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(this); 

Aquí el AlertDialog en Kitkat: Introduzca aquí la descripción de la imagen

Aquí está mi solución: https://github.com/afollestad/material-dialogs

He diseñado esto con el propósito de tener cuadros de diálogo Material en todas las versiones de Android. También hace que algunas cosas como el tema más fácil.

Al inicializar el constructor de diálogo, pasar segundo parámetro como el tema. Mostrará automáticamente el diseño del material con el nivel API 21.

 AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_DARK); 

o,

 AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); 

Puede considerar este proyecto: https://github.com/fengdai/AlertDialogPro

Puede proporcionarle diálogos de alerta de tema material prácticamente iguales a los de Lollipop. Compatible con Android 2.1.

AppCompat no hace eso para diálogos (aún no al menos)

EDIT: lo hace ahora. Asegúrese de usar android.support.v7.app.AlertDialog

Podrías usar

Biblioteca de diseño de materiales

Biblioteca de materiales diseñados para diálogos , botones y otras cosas como cuadros de bocadillos. Actualmente está muy desarrollado.

Guía, código, ejemplo – https://github.com/navasmdc/MaterialDesignLibrary

Guía para agregar biblioteca a Android Studio 1.0 – ¿Cómo puedo importar la biblioteca de diseño de material a Android Studio?

.

Codificación feliz;)

Pruebe esta biblioteca:

https://github.com/avast/android-styled-dialogs

Se basa en DialogFragments lugar de AlertDialogs (como el de @afollestad). La ventaja principal: Los diálogos no descargan después de que la rotación y las devoluciones de llamada todavía trabajan.

Por alguna razón el androide: textColor sólo parece actualizar el color del título. Puede cambiar el color del texto del mensaje

 SpannableString.AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.MyDialogTheme)); AlertDialog dialog = builder.create(); Spannable wordtoSpan = new SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers"); wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); dialog.setMessage(wordtoSpan); dialog.show(); 
  • FloatingActionButton expandir en una nueva actividad
  • El botón de acción flotante aparece sobre el cajón de navegación
  • FABM: Botón de acción flotante Menú
  • Animación de material para Android con pantalla Splash como aplicación de Palabre
  • Error al intentar probar AnimatedVectorDrawable, "No se puede cambiar de x a z"
  • Fondo degradado en la barra de herramientas temática material
  • Botones de diálogo con texto largo que no se envuelven / exprimido - tema material en android 5.0 lollipop
  • ¿Cómo puedo crear un widget de interfaz de usuario de diseño de material de Android?
  • CollapsingToolbarLayout | Problemas de desplazamiento y diseño 2
  • No se puede obtener la forma exacta del círculo cuando se utiliza la vista de tarjeta
  • Android Toggle Button - Diseño de materiales
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.