glomadrian / roadrunner Goto Github PK
View Code? Open in Web Editor NEWRoad Runner is a library for android which allow you to make your own loading animation using a SVG image
Road Runner is a library for android which allow you to make your own loading animation using a SVG image
Using this with an example path or some of the downloaded svg paths works fine. But when I try with a custom path, exported with Illustrator it messes up. Either by crashing or displaying a wrong path.
For example this path here:
original size=144:
M3,67 L110,1 L218,68 H148 v80 H252 V67 h78 V317 h54 l-96,64 L187,317 h65 V223 H152 v96 H65 V67 H3 Z
It works fine in all other programs/online services I have tried, but not with this project. It should look like an H (as a logo), but instead it looks like this:
Any idea what's going on?
I'd like to replace them with my own interpolator choice when creating them programatically.
Can you tell me what is the external tool to get path data ?
I don't think its very necessary for this library to include android:supportsRtl. Manifest merge fails since our application does not support RTL and we need to add tools:replace="android:supportsRtl" to fix the same.
In my opinion android:supportsRtl can be removed.
Added the repository and aar as instructed, but I get Gradle Error:Could not find com.github.glomadrian:roadrunner:1.0. Required by project
Seems like an awesome library, please help to compile. Btw I'm also using Android Annotations.
java.lang.NullPointerException: Attempt to invoke interface method 'void com.github.glomadrian.roadrunner.painter.determinate.DeterminatePathPainter.paintPath(android.graphics.Canvas)' on a null object reference
at com.github.glomadrian.roadrunner.DeterminateRoadRunner.onDraw(DeterminateRoadRunner.java:105)
Hello, I am getting a null pointer exception when I try to invoke the start method on the object. I have it defined in the xml to match your sample exactly. In the java, it looks like this:
https://gist.github.com/PGMacDesign/cc08dda8b5e177dda770fea51fa05c53
Any clue as to why the stacktrace is reading this? :
07-26 09:19:20.114 2860-2860/com.testing.stuff E/UncaughtException: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mastermatchmakers.trust.lovelab/com.mastermatchmakers.trust.lovelab.misc.TestActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void com.github.glomadrian.roadrunner.painter.indeterminate.IndeterminatePathPainter.start()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5456)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.github.glomadrian.roadrunner.painter.indeterminate.IndeterminatePathPainter.start()' on a null object reference
at com.github.glomadrian.roadrunner.IndeterminateRoadRunner.start(IndeterminateRoadRunner.java:110)
at com.mastermatchmakers.trust.lovelab.misc.TestActivity.onCreate(TestActivity.java:80)
at android.app.Activity.performCreate(Activity.java:6245)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5456)
at java.lang.reflect.Method.invoke(Native Method)
When I used my path(points) it crashes.
Error
07-11 09:13:19.320 19436-19436/example.com.sampleprogress E/IndeterminateLoading: Path parse exception: java.text.ParseException: Expected command (at offset 0) at com.github.glomadrian.roadrunner.svg.SvgPathParser.consumeCommand(SvgPathParser.java:189) at com.github.glomadrian.roadrunner.svg.SvgPathParser.parsePath(SvgPathParser.java:63) at com.github.glomadrian.roadrunner.RoadRunner.parsePath(RoadRunner.java:47) at com.github.glomadrian.roadrunner.RoadRunner.buildPathData(RoadRunner.java:32) at com.github.glomadrian.roadrunner.IndeterminateRoadRunner.onSizeChanged(IndeterminateRoadRunner.java:91) at android.view.View.sizeChange(View.java:15743) at android.view.View.setFrame(View.java:15716) at android.view.View.layout(View.java:15632) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1077) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:435) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5786) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5289) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 07-11 09:13:19.321 19436-19436/example.com.sampleprogress D/AndroidRuntime: Shutting down VM 07-11 09:13:19.322 19436-19436/example.com.sampleprogress E/AndroidRuntime: FATAL EXCEPTION: main Process: example.com.sampleprogress, PID: 19436 java.lang.NullPointerException: Attempt to invoke interface method 'void com.github.glomadrian.roadrunner.painter.indeterminate.IndeterminatePathPainter.start()' on a null object reference at com.github.glomadrian.roadrunner.IndeterminateRoadRunner.onSizeChanged(IndeterminateRoadRunner.java:97) at android.view.View.sizeChange(View.java:15743) at android.view.View.setFrame(View.java:15716) at android.view.View.layout(View.java:15632) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1077) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:435) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15636) at android.view.ViewGroup.layout(ViewGroup.java:4967) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5786) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5289) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
My path
3.006,2.446 32.627,12.65 45.63,4.603 53.618,9.501 56.534,10.201 63.064,5.362 71.927,2.971 75.017,6.644 78.108,11.542 83.064,7.548 84.988,4.079 90.761,3.787 93.385,8.394 93.91,11.834 92.102,19.181 90.644,24.487 84.755,30.201 77.933,36.09 68.137,37.373 52.102,38.073 38.05,35.566 30.12,33.758 21.84,32.184 19.332,35.566 13.735,37.49 7.379,32.65 4.055,26.703 3.356,23.671 2.773,20.259 2.19,15.682 2.19,10.959 2.19,6.819 2.889,2.738
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.