siriscac / rippleview Goto Github PK
View Code? Open in Web Editor NEWView that imitates Ripple Effect on click which was introduced in Android L (for Android 2.3+)
View that imitates Ripple Effect on click which was introduced in Android L (for Android 2.3+)
Any way to add ripples to an existing listviews clicks?
when I flip in the right edge of this view ,it will draw a simicircle which won't be bigger or miss.
While on debug mode, the ripple effect is visible. But when i create a release build of my app, the effect is gone. What could be the reason?
No Gradle support really turns me down from using Android third party libraries. Would be nice to have it.
Hi.. I noticed that using the ripple view inside a listview item, if Android version is ICS, this cause app's crash.. Instead on Android 4.4 it works well.
Logcat:
09-13 22:52:11.594 20969-20969/com.wax.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:408)
at com.indris.material.RippleView.onDraw(RippleView.java:222)
at android.view.View.draw(View.java:10982)
at android.view.View.getDisplayList(View.java:10421)
at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.View.getDisplayList(View.java:10419)
at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
at android.widget.ListView.drawChild(ListView.java:3223)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092)
at android.widget.ListView.dispatchDraw(ListView.java:3218)
at android.view.View.draw(View.java:10985)
at android.widget.AbsListView.draw(AbsListView.java:3398)
at android.view.View.getDisplayList(View.java:10421)
at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.View.getDisplayList(View.java:10419)
at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.View.draw(View.java:10985)
at android.support.v4.view.ViewPager.draw(ViewPager.java:2176)
at android.view.View.getDisplayList(View.java:10421)
at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
at android.view.View.getDisplayList(View.java:10419)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2597)
at android.view.View.getDisplayList(View.java:10384)
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:842)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1935)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1659)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2467)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Hi, when I press and move out the view, The circle still displayed and don't disappear until I click again in the view. It's a ListView with RippleView's in each row.
Regards.
Add an option to enable wrapper for all views
Something like RippleView.on(viewThatIWantItOn).create(); to wrap my view with the RippleView.
i have a button and a circular image as the background, but the ripple goes outside the image, i need help!!
As the title says...
Please make it use the normal ripple effect in case the Android version is at least Lollipop.
How to open/import this project into android studio
Hi,
The animation starts also when the RippleView has been disabled.
Thanks in advance.
Branch : dev
For some reasons, the container or the container's parent doesn't inherit the LayoutParams properly.
Hi,
Is there a way to wait for the animation to finish before performing the action inside the onclicklistener so that the complete animation is visible before say moving to a new activity? Thanks!
When I changed the animation duration of the ACTION_DOWN from 400 to 4000, the animation will keep showing on the screen after the animation triggered by the ACTION_UP stops.
Log:
com.andexert.library.RippleView.draw (RippleView.java:166)
android.view.View.updateDisplayListIfDirty (View.java:15174)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:3593)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:3573)
android.view.View.updateDisplayListIfDirty (View.java:15134)
android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:281)
android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:287)
android.view.ThreadedRenderer.draw (ThreadedRenderer.java:322)
android.view.ViewRootImpl.draw (ViewRootImpl.java:2615)
android.view.ViewRootImpl.performDraw (ViewRootImpl.java:2434)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2067)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1107)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6013)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:858)
android.view.Choreographer.doCallbacks (Choreographer.java:670)
android.view.Choreographer.doFrame (Choreographer.java:606)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:844)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.