Android 包含水波纹效果的圆角Button

drawable文件夹下新建文件button_ripple.xml,添加如下内容

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?attr/colorControlHighlight">
    <item>
    	<selector>
            <item android:state_enabled="true">
                <shape>
                    <corners android:radius="10dp" />
                    <solid android:color="@color/colorAccent" />
                </shape>
            </item>
            <item android:state_enabled="false">
                <shape>
                    <corners android:radius="10dp" />
                    <solid android:color="#ffcccccc" />
                </shape>
            </item>
        </selector>
    </item>
</ripple>

ripple标签用于定义水波纹效果,?attr/colorControlHighlight是系统预定义的水波纹颜色
内部shape标签用于定义按钮属性,corners用于定义圆角半径,solid用于定义颜色
select标签内两个item分别对应按钮enable=true和enable=false的情况

在Button中引用

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_ripple" />

注意:5.0以下系统不能使用水波纹效果,使用selector做兼容方案

发布了174 篇原创文章 · 获赞 119 · 访问量 55万+

猜你喜欢

转载自blog.csdn.net/lj402159806/article/details/102621651