Agregaré mi respuesta ya que no uso ninguna de las otras respuestas proporcionadas.
Con Support Library v7, todos los estilos ya están definidos y listos para usar, para los botones estándar, todos estos estilos están disponibles:
style="@style/Widget.AppCompat.Button"
style="@style/Widget.AppCompat.Button.Colored"
style="@style/Widget.AppCompat.Button.Borderless"
style="@style/Widget.AppCompat.Button.Borderless.Colored"
Widget.AppCompat.Button
:
Widget.AppCompat.Button.Colored
:
Widget.AppCompat.Button.Borderless
Widget.AppCompat.Button.Borderless.Colored
:
Para responder a la pregunta, el estilo a usar es
<Button style="@style/Widget.AppCompat.Button.Colored"
.......
.......
.......
android:text="Button"/>
Cómo cambiar el color
Para toda la aplicación:
El atributo gestiona el color de todos los controles de la interfaz de usuario (no solo botones, sino también botones de acción flotantes, casillas de verificación, etc.) colorAccent
como se explica aquí . Puede modificar este estilo y aplicar su propio color en la definición de su tema:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="colorAccent">@color/Orange</item>
</style>
Para un botón específico:
Si necesita cambiar el estilo de un botón específico, puede definir un nuevo estilo, heredando uno de los estilos principales descritos anteriormente. En el siguiente ejemplo, acabo de cambiar el fondo y los colores de fuente:
<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>
Entonces solo necesita aplicar este nuevo estilo en el botón con:
android:theme="@style/AppTheme.Button"
Para establecer un diseño de botón predeterminado en un diseño, agregue esta línea al tema styles.xml:
<item name="buttonStyle">@style/btn</item>
¿Dónde @style/btn
está el tema de tu botón? Esto establece el estilo del botón para todos los botones en un diseño con un tema específico