Dodam swoją odpowiedź, ponieważ nie używam żadnej z pozostałych podanych odpowiedzi.
W bibliotece pomocy technicznej w wersji 7 wszystkie style są już zdefiniowane i gotowe do użycia. W przypadku standardowych przycisków wszystkie te style są dostępne:
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
:
Aby odpowiedzieć na pytanie, należy zastosować styl
<Button style="@style/Widget.AppCompat.Button.Colored"
.......
.......
.......
android:text="Button"/>
Jak zmienić kolor
Dla całej aplikacji:
Kolor wszystkich kontrolek interfejsu użytkownika (nie tylko przycisków, ale także pływających przycisków akcji, pól wyboru itp.) Jest zarządzany przez atrybut, colorAccent
jak wyjaśniono tutaj . Możesz zmodyfikować ten styl i zastosować własny kolor w definicji motywu:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="colorAccent">@color/Orange</item>
</style>
Dla konkretnego przycisku:
Jeśli chcesz zmienić styl określonego przycisku, możesz zdefiniować nowy styl, dziedzicząc jeden ze stylów nadrzędnych opisanych powyżej. W poniższym przykładzie właśnie zmieniłem kolory tła i czcionek:
<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>
Następnie wystarczy zastosować ten nowy styl na przycisku za pomocą:
android:theme="@style/AppTheme.Button"
Aby ustawić domyślny projekt przycisku w układzie, dodaj tę linię do motywu styles.xml:
<item name="buttonStyle">@style/btn</item>
gdzie @style/btn
jest twój motyw przycisku. Ustawia styl przycisku dla wszystkich przycisków w układzie z określonym motywem