[Lib] RippleDecoratorView - Configurable Ripple and Highlight effect backwards compatible with up to Android-7

  • Replies:3
F Estevez
  • Forum posts: 3

Jun 26, 2015, 6:04:48 PM via Website

RippleDecoratorView is a widget library with a view used to wrap any of your layouts. It allows you, for any touch, to add animations effects such as: ripple stroke, ripple fill, highlight, and zoom. These animations come with a configurable fade-in, fade-out timeline.
It does not capture touches, so you can pepper it safely though your XML layout files.
It comes with an example project and is already available at Maven Central.

Sample

Github Repository: github.com/thomsonreuters/RippleDecoratorView

And if you want a q&d introduction, just add to your dependencies

compile 'com.thomsonreuters:rippledecoratorview:+'

and wrap any of your views with

<com.thomsonreuters.rippledecoratorview.RippleDecoratorView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</com.thomsonreuters.rippledecoratorview.RippleDecoratorView>

If you feel the library can be extended or you find any bugs, do not hesitate to fill in a request or branch and PR your changes.

Reply
F Estevez
  • Forum posts: 3

Jul 6, 2015, 6:59:13 PM via Website

Version 1.0.2 published:

You can now handle the animations programmatically: github.com/thomsonreuters/RippleDecoratorView/releases/tag/v1.0.2

Reply
Five Z
  • Forum posts: 7

Jul 12, 2015, 9:59:33 AM via Website

Hi!
Thanks for the library. It seems useful.
Google said that they did not backport the ripple effect before API21 before it was rendered in a separate thread.
Does your library put noticeable overhead on older devices (even 4.0+)?

Reply
F Estevez
  • Forum posts: 3

Jul 12, 2015, 4:14:29 PM via Website

Hi Five Z,

we've tested it with a 4.0.1 Galaxy Ace, which is a low end device from 3 years ago. While we won't expect a performance similar to Google's approach, we never saw any major slowdowns with it. The render loop is quite short and to the point, and includes just a couple of boolean checks, trivial float calculations for circle size and alpha value, and the drawCircle method. Performance could be improved by discarding frames where no change has happened and caching values between frames, but we never felt it was needed.

Please report your experience and if you feel it's not up to your expectations we can look into it.

Francisco.

— modified on Jul 12, 2015, 4:15:18 PM

Reply