Android 按钮默认背景

Android button default background

我知道我可以像这样使用 custom drawable 来设置 buttonbackground

    <?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="#ffffff"
                android:endColor="#ffffff"
                android:angle="270" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <gradient
                android:endColor="#ffffff"
                android:startColor="#ffffff"
                android:angle="270" />
        </shape>
    </item>

    <item>        
        <shape>
            <gradient
                android:endColor="#ffffff"
                android:startColor="#ffffff"
                android:angle="270" />
        </shape>
    </item>
</selector>

我也知道怎么设置了。

但我真正的问题是:如何获得默认 material 设计按钮的外观和感觉,只是颜色不同,我似乎无法在 Android来源。

您可以使用 style="?android:attr/borderlessButtonStyle" 作为 Button 的样式。这会给你一个平面风格的外观,也适用于任何前棒棒糖设备。

参考:http://developer.android.com/reference/android/R.attr.html#borderlessButtonStyle

如果您对向后压缩不感兴趣,那么可以使用 Raised Button,它具有涟漪效应,需要设备 运行 5.0

<style name="Your.Button" parent="android:style/Widget.Material.Button">
    <item name="android:background">@drawable/raised_background</item>
</style>

raised_background.xml

    <ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?attr/colorControlHighlight">
        <item android:drawable="@color/button_color"/>
    </ripple>