El estilo de botón predeterminado de Android no funciona

Estoy intentando fijar mis estilos para hacer todos los botones una combinación de color particular, específicamente azul con el texto blanco. Aquí está mi styles.xml principal:

<resources> <style name="CustomTheme" parent="MaterialDrawerTheme.Light.DarkToolbar"> <!-- various items --> <item name="android:buttonStyle">@style/ButtonStyle</item> </style> <!-- a couple of other styles --> <style name="ButtonStyle" parent="android:style/Widget.Button"> <item name="android:textSize">19sp</item> <item name="android:textColor">@color/primaryTextContrast</item> <item name="android:background">@color/primary</item> </style> </resources> 

Y en el manifiesto:

  <application android:name=".CustomApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/application_name" android:theme="@style/CustomTheme"> 

color/primary es azul oscuro, y color/primaryTextContrast es blanco. En Lollipop, el botón parece perfecto. En un dispositivo 4.1, es gris claro con texto negro. Cada recurso que he encontrado para hacer esto se parece exactamente a lo que estoy haciendo así que no sé lo que me falta aquí.

Tengo un problema similar con el control de tamaño de texto en la definición de estilo de base también.

Actualización: aquí están los colores.

 <resources> <color name="primary">#3F51B5</color> <color name="dark">#303F9F</color> <color name="accent">#FFCA28</color> <color name="background">@android:color/white</color> <!-- Color for text displayed on top of the primary or dark color --> <color name="primaryTextContrast">@android:color/white</color> <!-- Color for text displayed on the background color (which I think will always be white) --> <color name="basicText">@color/primary</color> <!-- Color for text displayed on the accent color --> <color name="accentText">#303F9F</color> </resources> 

Aquí está v19 / styles.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="FullscreenTheme" parent="MaterialDrawerTheme.Light.DarkToolbar.TranslucentStatus"> <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowNoTitle">true</item> <item name="android:windowTranslucentStatus">true</item> </style> </resources> 

Aquí v21:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="CustomTheme"> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> <item name="android:windowSharedElementExitTransition">@android:transition/move</item> </style> </resources> 

No creo que ninguno de estos es lo que está haciendo que funcione correctamente en 5.1.

3 Solutions collect form web for “El estilo de botón predeterminado de Android no funciona”

Usando AppCompat 22.1.+ ( 22.2.0 debería funcionar también), 22.2.0 un estilo como este:

 <style name="MyApp.Button.Red" parent="Base.Widget.AppCompat.Button"> <item name="colorButtonNormal">@color/primary</item> <item name="android:colorButtonNormal">@color/primary</item> <item name="android:textColor">@android:color/white</item> </style> 

Y luego aplicó el tema en un botón utilizando el atributo theme nativo de espacio de nombres android , como se dijo en este post impresionante de Chris Banes.

 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/sign_up_button" android:theme="@style/MyApp.Button.Red" /> 

Intenté agregar buttonStyle sin el prefijo de android: y resolvió el problema. Sí, raro.

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="buttonStyle">@style/ButtonStyle</item> <item name="android:buttonStyle">@style/ButtonStyle</item> </style> 

Gradle: compile 'com.android.support:appcompat-v7:22.2.0'

Para que el tema funcione correctamente en android lollipop, debe extender ActionBarActivity en lugar de Actividad . Al hacer este cambio, la configuración del tema debería funcionar correctamente. Esto es general para otras personas que para la versión inferior de android, no deberías usar android: tag en la definición de nombre de elemento `

  • Pestaña blanca con texto oscuro
  • Cambiar el color de texto de la barra de estado cuando primaryDark es blanco
  • Quite la sombra debajo de TabLayout en android
  • No se establece el tema de Android
  • ActionBar menuitem color de fondo presionado
  • Android - Tabla de estilos TableLayout
  • Android - Color del botón material
  • ¿Por qué mi 'actionBarTabStyle' personalizado no anula el estilo / tema predeterminado?
  • Configuración del fondo de la barra de herramientas Android y colores de texto en Android Studio 1.4.1
  • Cómo cambiar el color del teclado virtual "Enter" / "Siguiente" botón en lollipop
  • Estilos y temas en valores, valores-v11 y valores-v14 carpetas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.