android 水波纹效果实现

Posted 贺长寿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 水波纹效果实现相关的知识,希望对你有一定的参考价值。

1.在drawable文件下,新建seletor,作为button的背景,这里我用的是两个圆角的shape

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_btn_cycle_normal"/>
    <item android:state_pressed="true" android:drawable="@drawable/shape_btn_cycle_press"/>
</selector>

 

  shape_btn_cycle_normal

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners
        android:bottomLeftRadius="20dp"
        android:bottomRightRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
    <solid android:color="@color/colorWhite"/>

</shape>

  shape_btn_cycle_press

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners
        android:bottomLeftRadius="20dp"
        android:bottomRightRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
    <solid android:color="@color/colorGray"/>

</shape>

 

  2.在drawable-v21下,新建同selector名的ripple,如上,我的selector是selector_btn_cycle_bg,这里drawable-v21下新建selector_btn_cycle_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/colorGray"> //选中的水波纹的颜色
    <item android:drawable="@drawable/shape_btn_cycle_normal"/>//未选中的背景状态

</ripple>

 

以上是关于android 水波纹效果实现的主要内容,如果未能解决你的问题,请参考以下文章

android: Android水波纹点击效果

Android 按钮实现按压水波纹效果

Android特效专辑——点击水波纹效果实现,逻辑清晰实现简单

android 水波纹效果实现

Android 颜色渲染 RadialGradient 环形渲染实现水波纹效果

Android Shader渲染以及实现水波纹霓虹文字雷达等效果