我会添加我的答案,因为我没有使用其他提供的答案。
使用Support Library 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"/>
如何更改颜色
对于整个应用程序:
所有用户界面控件(不仅是按钮,还包括浮动操作按钮、复选框等)的颜色都由属性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
是您的按钮主题。这将为具有特定主题的布局中的所有按钮设置按钮样式。