android 按钮水波纹效果【背景色】

两种方式实现:

第一种:Material自带水波纹

通过如下代码设置波纹的背景:

android:background="?android:attr/selectableItemBackground"波纹有边界

android:background="?android:attr/selectableItemBackgroundBorderless"波纹超出边界【一般这种好看点,大多数也都是这种】

 第二种:自定义

在“drawable”下面创建文件“ripple_bg_middle.xml”【名字无所谓】这是我的代码:

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

    <item android:drawable="@color/gray" android:state_pressed="true"></item>
    <item android:drawable="@color/background" android:state_pressed="false"></item>

</selector>

注意! 写完了还要在“drawable-v21”文件夹下面接着创建同名文件【保证兼容性】,这是我代码:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#c0c0c0"><!--按压的时候显示的颜色-->
    <item>
        <shape android:shape="rectangle">
            <corners
                android:bottomLeftRadius="0dp"
                android:bottomRightRadius="0dp"
                android:topLeftRadius="0dp"
                android:topRightRadius="0dp" />
            <solid android:color="@color/white" /><!--按钮背景色-->
        </shape>
    </item>
    <!--<item>
        <selector>
            <item
                android:drawable="@color/btn_register_normal"
                android:state_pressed="false" />
            <item
                android:drawable="@color/gray_b2b3b4"
                android:state_pressed="true" />
        </selector>
    </item>-->
</ripple>

这两个文件里面的颜色保证一样

使用的时候:

 

猜你喜欢

转载自blog.csdn.net/fengyeNom1/article/details/105950836