Android RippleDrawable波纹扩散效果

Android 的波纹扩散效果,其实就是按钮被点击时那个像水面一样晕开的视觉反馈,叫RippleDrawable。这是从 Android 5.0 开始就有的交互小细节,挺提升体验的,点着有回响,有质感。

RippleDrawable本质上是系统自带的一个可绘制对象,前景是波纹,背景是颜色或图案,中间还可以嵌个内容视图。一般你只要会写 XML 就能用得上:


  
  

响应也快,效果也自然。如果你想更灵活点,还可以用代码来动态设置,比如这样:

RippleDrawable ripple = (RippleDrawable) ContextCompat.getDrawable(context, R.drawable.your_ripple);
view.setBackground(ripple);

不过要注意哈,5.0 以下的 Android 版本是不支持原生 Ripple 的,这时候你就得用AppCompat系列的兼容方案,或者找个靠谱的第三方库,比如android-ripple-background-master这种,效果也还不错。

如果你对默认的波纹形状或者扩散速度不满意,还能自己去扩展RippleDrawable,自定义波纹的样子。不过一般项目用系统的就够了,省心。

如果你正在做一个触感反馈比较丰富的 App,比如按钮操作频繁的页面,那加上波纹效果肯定不亏。你也可以参考下Android 5.0 水波纹效果控件或者图片点击震动反馈实现这种文章,思路挺清晰的。

嗯,波纹扩散虽然小,但做得好会让交互舒服不少。如果你还没加,不妨试试。

zip 文件大小:6.39MB