Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Widget.AppCompat.Button colorButtonNormal muestra gris

Tengo values:styles.xml con:

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

Y values-v21:styles.xml con:

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

Y estilo de aplicación con

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

Pero los colores aparecen en gris en lugar de @color/my_color

  • Animación de la barra de herramientas Android AppCompat-v21
  • Establecer un subtítulo en mi barra de herramientas de un fragmento
  • NavigationDrawerFragment no funciona con la barra de herramientas de AppCompat
  • AppCompat 23.3 ¿Los vectores de ayuda ya no funcionan?
  • Appcompat / añadir una biblioteca con el estudio de Android
  • Cómo utilizar la barra de progreso indeterminada en appcompat-v7 r21 biblioteca?
  • Mostrar icono en barra de herramientas / barra de herramientas con AppCompat-v7 21
  • Fragmento pila trasera no funciona cuando se extiende AppCompatActivity
  • 8 Solutions collect form web for “Widget.AppCompat.Button colorButtonNormal muestra gris”

    Para personalizar un solo botón, establezca android: theme = "@ style / AppTheme.Button" a su botón.

     <Button ...... android:theme="@style/AppTheme.Button" ...... /> 

    Defina su estilo como lo hizo en su pregunta

     <style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button"> ........ <item name="colorButtonNormal">@color/my_color</item> ........ </style> 

    [EDITAR]

    Ver la demostración de GitHub aquí

    Utilice Widget.AppCompat.Button.Colored como un padre para su estilo.

     <style name="RedButton" parent="Widget.AppCompat.Button.Colored"> <item name="android:textColor">@color/white</item> <item name="colorButtonNormal">@color/red</item> </style> 

    Usar android:theme , no style en definiciones de botones:

     <Button android:theme="@style/RedButton"/> 

    Consulte AppCompat v21> Biblioteca de soporte técnico y Android v22.1 – Publicaciones de blog de AppCompat . (Nota en el segundo post, android:theme es compatible con API11-, simplemente no hace la herencia automática de los padres, usted tendrá que especificar en cada niño, no un problema aquí, pero vale la pena mencionar – ver Chris Banes ' post on ese).

    Ponga la línea xml a continuación en su "AppTheme" xml, en lugar de intentar establecerlo desde el "AppTheme.Button". Esto funciona para mí en v22.1.1 con dispositivos que no sean piruletas. Supongo que esto es un error porque su solución anterior funciona bien para lollipop.

     <item name="colorButtonNormal">@color/my_color</item> 

    Asegúrese de que su Activity esté ampliando AppCompatActivity , de lo contrario no manejará correctamente los estilos de appCompat.

    • Clase: android.support.v7.app.AppCompatActivity
    • Gradle: compile 'com.android.support:appcompat-v7:23.0.1'

    Utilizar:

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="buttonStyle">@style/AppTheme.Button</item> </style> 

    Quita el android:

    Eso funciona:

     <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> <!-- android:buttonStyle for v21+ and buttonStyle for the rest --> <item name="buttonStyle">@style/MyCustomButton</item> <item name="android:buttonStyle">@style/MyCustomButton</item> <item name="colorButtonNormal">@color/my_color</item> </style> <style name="MyCustomButton" parent="Base.Widget.AppCompat.Button"> <item name="android:textColor">#ffffff</item> <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> </style> 

    colorButtonNormal se puede establecer en el estilo del tema. Para cambiar el color del texto, el tamaño o cualquier otra función del botón, puede crear un estilo y luego usar el estilo del botón para definir el estilo del botón.

    V21 / styles.xml

      <style name="AppTheme.BlueButton" parent="Widget.AppCompat.Button.Colored"> <item name="android:colorButtonNormal">@color/blue</item> <item name="android:textColor">@color/text_white</item> </style> 

    Styles.xml

     <style name="AppTheme.BlueButton" parent="Widget.AppCompat.Button.Colored"> <item name="colorButtonNormal">@color/blue_tint</item> <item name="android:textColor">@color/text_white</item> </style> 

    Inicialmente estoy demasiado frente a este problema. Después de hacer la corrección como arriba he conseguido el botón de IU correcto

    Hola, creo que el widget padre que android:Widget.Button puede no ser correcto, debería android:Widget.Button para la versión de la API 21 o versiones anteriores, para la versión posterior 21 o superior debes usar `android: Widget.Material.Button. Digamos que tienes el estilo por defecto debe mirar a continuación.

     res/values/styles.xml <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:buttonStyle">@style/AppTheme.Button</item> </style> <style name="AppTheme.Button" parent="android:Widget.Button"> <item name="android:background">@color/my_color</item> <item name="android:textColor">@android:color/white</item> </style> </resources> 

    Para la versión 21 de la API, el archivo de estilo de recurso debe tener el aspecto (res / values-v21 / style.xml)

     <resources> <style name="AppTheme.Button" parent="android:Widget.Material.Button"> <item name="android:background">@color/my_color</item> <item name="android:textColor">@android:color/white</item> </style> </resources> 

    Gracias Déjeme saber si usted tiene cualquier pregunta.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.