我将添加我的答案,因为我没有使用任何其他提供的答案。
在支持库v7中,所有的样式实际上都已经定义并可以使用,对于标准按钮,所有这些样式都是可用的:
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"/>
如何改变颜色
对于整个应用程序:
所有UI控件的颜色(不仅是按钮,还包括浮动操作按钮,复选框等)都由属性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是你的按钮主题。这将为具有特定主题的布局中的所有按钮设置按钮样式