Я добавлю свой ответ, так как я не использую другие предоставленные ответы.
В библиотеке поддержки версии 7 все стили уже определены и готовы к использованию, для стандартных кнопок доступны все эти стили:
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
:
Чтобы ответить на вопрос, стиль для использования, следовательно,
<Button style="@style/Widget.AppCompat.Button.Colored"
.......
.......
.......
android:text="Button"/>
Как изменить цвет
Для всего приложения:
Цвет всех элементов управления пользовательского интерфейса (не только кнопок, но и кнопок с плавающим действием, флажков и т. Д.) Управляется атрибутом, colorAccent
как описано здесь . Вы можете изменить этот стиль и применить свой собственный цвет в определении вашей темы:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="colorAccent">@color/Orange</item>
</style>
Для конкретной кнопки:
Если вам нужно изменить стиль определенной кнопки, вы можете определить новый стиль, наследуя один из родительских стилей, описанных выше. В приведенном ниже примере я просто изменил цвет фона и шрифта:
<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>
Тогда вам просто нужно применить этот новый стиль к кнопке с помощью:
android:theme="@style/AppTheme.Button"
Чтобы установить дизайн кнопки по умолчанию в макете, добавьте эту строку в тему styles.xml:
<item name="buttonStyle">@style/btn</item>
где @style/btn
ваша тема кнопки. Это устанавливает стиль кнопки для всех кнопок в макете с определенной темой