Android 更改按钮样式 Button Styles

Posted Android 从零单排

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 更改按钮样式 Button Styles相关的知识,希望对你有一定的参考价值。

extends:http://stackoverflow.com/questions/26346727/android-material-design-button-styles

 


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.Button技术分享

Widget.AppCompat.Button.Colored技术分享

Widget.AppCompat.Button.Borderless 技术分享

Widget.AppCompat.Button.Borderless.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"

 

To set a default button design in a layout, add this line to the styles.xml theme:

<item name="buttonStyle">@style/btn</item>

 

where @style/btn is your button theme. This sets the button style for all the buttons in a layout with a specific theme


以上是关于Android 更改按钮样式 Button Styles的主要内容,如果未能解决你的问题,请参考以下文章