5.0以下切换背景,以上为涟漪效果
1.切换Button背景
在drawable下创建ripple_bg.xml文件 例如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--按下点击-->
<item android:state_pressed="true" android:state_enabled="true">
<shape >
<!--背景色-->
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
<!--正常状态-->
<item android:state_pressed="false" android:state_enabled="false">
<shape >
<!-- 背景色 -->
<solid android:color="@color/colorAccent"/>
</shape>
</item>
</selector>
Button涟漪效果(使用系统的ripple)
因为是系统是争对5.0以上的,需要在项目创建drawable-v21目录,添加ripple_bg.xml即可 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#FF21272B"><!--涟漪背景色 -->
<item android:id="@android:id/mask"> <!--mask 可以添加一些有趣的图像效果,会按照图像的轮廓来产生涟漪范围-->
<shape android:shape="rectangle">
<solid android:color="#8cc476"/> <!--默认背景色-->
</shape>
</item>
</ripple>
最后在Button按钮上添加
android:background="@drawable/ripple_bg"
PS:这里会涉及到根据版本去寻找对应的drawable,不在讨论范围之内。