Android API 21及以上新增了ripple标签用来实现水波纹的效果。我们可以通过设置ripple背景来实现一些View点击效果。

水波纹样图

1. 水波纹效果实现

1)系统效果

  • 系统有界效果
    在API 21以上使用,才有波纹效果;API 21以下使用只有变色效果,没有波纹效果

 

android:background="?android:attr/selectableItemBackground"
  • 系统无界效果
    在API 21以上才能使用,API 21以下会报错无法编译,最小版本要设置为minSdkVersion 21

 

android:background="?android:attr/selectableItemBackgroundBorderless"

2)自定义效果
res中新建一个drawable-v21文件夹,在此文件夹下新建ripple_bg.xml用于实现波纹效果。(仅限Android 5.0以上机型)

  • 自定义有界效果

 

<?xml version="1.0" encoding="utf-8"?>                                                   
  • 自定义无界效果

 

<?xml version="1.0" encoding="utf-8"?>    
  • 自定义带图片效果

 

<?xml version="1.0" encoding="utf-8"?>                                                                                  

在布局中使用:

 

2. 水波纹效果兼容

在API 21以下无法使用ripple标签来实现波纹效果,为了兼容低版本机型不出错,我们需要做波纹效果适配。
1)系统效果(只有变色效果,没有波纹效果)

 

android:background="?android:attr/selectableItemBackground"

2)自定义效果(只有变色效果,没有波纹效果)
drawable文件下创建同名文件ripple_bg.xml用于适配Android 5.0以下机型。

 

<?xml version="1.0" encoding="utf-8"?>                    

在布局中使用:

 

 

更多相关文章

  1. 使用Android注解处理器,解放劳动力
  2. ANDROID ADB工具使用
  3. 推荐几个非常有用的开发工具之Android(安卓)Studio插件
  4. Android使用开源框架ANDROID-IMAGE-INDICATOR实现图片轮播部署
  5. Android伸手党系列之四:Android项目开发常用技术
  6. Android之SlidingDrawer抽屉效果
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. 【AAC 系列一】Android 应用架构新时代来
  2. android Animation笔记
  3. Android 使用 unity 导出obb包
  4. Android 学习系列 - 线程模型
  5. 第一次使用Android Studio时你应该知道的
  6. 优化你的代码结构 --- MVP
  7. WebView加入动画后白屏卡顿的现象
  8. Android基本界面控件
  9. RecyclerView机制解析: ItemDecoration
  10. Android白眉鹰王之BroadcastReceiver