Material Design Button 样式

本文介绍如何使用Android Support Library v7自定义按钮样式,包括全局设置颜色及特定按钮的颜色调整方法。通过修改主题中的colorAccent属性可以改变应用中所有UI控件的颜色;针对单独按钮,则可通过创建继承自AppCompat.Button.Colored的新样式来实现。

132down voteaccepted

I will add my answer since I don't use any of the other answers provided.

With the Support Library v7, all the styles are actually already defined and ready to use, for the standard buttons, all of these styles are available:

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.Buttonenter image description here

Widget.AppCompat.Button.Coloredenter image description here

Widget.AppCompat.Button.Borderless enter image description here

Widget.AppCompat.Button.Borderless.Coloredenter image description here


To answer the question, the style to use is therefore style="@style/Widget.AppCompat.Button.Colored".


How to change the color

For the whole app:

The color of all the UI controls (not only buttons, but also floating action buttons, checkboxes etc.) is managed by the attribute colorAccent as explained here. You can modify this style and apply your own color in your theme definition:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> ... <item name="colorAccent">@color/Orange</item> </style>

For a specific button:

If you need to change the style of a specific button, you can define a new style, inheriting one of the parent styles described above. In the example below I just changed the background and font colors:

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored"> <item name="colorButtonNormal">@color/Red</item> <item name="android:textColor">@color/White</item> </style>

Then you just need to apply this new style on the button with:

android:theme="@style/AppTheme.Button"

转载于:https://www.cnblogs.com/qianyukun/p/5854021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值