ogaclejapan / arclayout Goto Github PK
View Code? Open in Web Editor NEWA very simple arc layout library for Android
License: Apache License 2.0
A very simple arc layout library for Android
License: Apache License 2.0
Hello @ogaclejapan
Im using your awesome library in my app and here is the link on google play
https://play.google.com/store/apps/details?id=club.androidy.callcontrolfree
and here is a small screen capture
https://www.dropbox.com/s/hmsj1oyl8qsjkho/callcontrol.ZIP?dl=0
you can include this in your documentation.
Thank you very much for your effort.
Hello,
I am trying to use this library in my project. First I created a new project in Android Studio, and add the following statement into build.gradle: compile 'com.ogaclejapan.arclayout:library:1.0.1@aar'.
but it reported parsing XML error: unbound prefix. And I didn't see the library source code in my project.
Could you give a detailed process to add this library into a new project.
Thanks,
Wilson
I want to set the stroke or line which connect with every button of arc layout at bottom right?
Can you please give some suggestion?
I am creating a circle view of members using arclayout.
I saw your sample there we have added fixed child items in its layout. which is fixed but I want it to be variable/ dynamic that i can add new child at runtime.
sample
How do i get to place a child view in center of the arch?
Is there a way to draw a donut in background instead of a plain arch?
HI
I can't import the library as a module into my project
it shows this error
Gradle sync failed: Plugin with id 'com.github.dcendents.android-maven' not found.
Hello,
I have created the demo like a tumblr using my icons and buttons.the menu items works and animation is ok.but if I click on the fab and then click the fab again while the menu is on,I get this error :
FATAL EXCEPTION: main Process: com.dsd2016.iparked_android, PID: 5694 java.lang.NullPointerException: Attempt to invoke virtual method 'long com.android.internal.util.VirtualRefBasePtr.get()' on a null object reference at android.view.RenderNodeAnimator.applyInterpolator(RenderNodeAnimator.java:171) at android.view.RenderNodeAnimator.start(RenderNodeAnimator.java:185) at android.animation.AnimatorSet.start(AnimatorSet.java:678) at android.animation.AnimatorSet.onChildAnimatorEnded(AnimatorSet.java:807) at android.animation.AnimatorSet.-wrap1(AnimatorSet.java) at android.animation.AnimatorSet$AnimatorSetListener.onAnimationEnd(AnimatorSet.java:784) at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1149) at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1309) at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146) at android.animation.AnimationHandler.-wrap2(AnimationHandler.java) at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:54) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:869) at android.view.Choreographer.doCallbacks(Choreographer.java:683) at android.view.Choreographer.doFrame(Choreographer.java:616) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Arclayout is great,i have used it for a long time. Recently,i have found an issue, the memory raised up constantly when open and close the Arclayout view many times. Every time open and close the Arclayout view,the memory will raise up about 1M,and can't fall down automatically.
I need your help,thanks!
If locale/language is switched within the app or from the device settings it does not flip its view.
Added:
dependencies {
...
compile 'com.ogaclejapan.arclayout:library:1.0.0@aar'
}
The library does not get included when synced. Looking at the demo the project was imported not added as a gradle dependency.
I want to fullscreen view of cliprevealframe when press the floating button, so the toolbar don't show. How to do that?
thank you
In the XML it's not too hard to changed the free angle of a child, but programatically I can't seem to figure it out or find any examples in the documentation or the demo app. Is it possible? if so, how would I go about it? I can get the child angle, but I don't see to be able to set it.
Basically, instead of always displaying a single view in the layout at 12h, I'd like their starting point to be in different places. Or to be able to change the child angles independently... both things would work for what I'm doing
I'm trying to build a layout like this:
and I was thinking that what would be perfect for this library would be the ability to change the arc radius of each child view independently. Even better if there was some way for the child views to all be located as far away from each other as possible, while still keeping that same custom radius.
Great library by the way! 👍
Add a ProgressView widget in an xml with visiblity gone:
<com.rey.material.widget.ProgressView
android:id="@+id/progressBar1"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center"
android:visibility="gone"
app:pv_autostart="false"
app:pv_circular="true"
app:pv_progressMode="indeterminate"
app:pv_progressStyle="@style/MultipleColorsCircularProgressStyle"/>
Throws the following exception when running the app and during inflation:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.rey.material.drawable.LinearProgressDrawable.getProgressMode()' on a null object reference
at com.rey.material.widget.ProgressView.getProgressMode(ProgressView.java:125)
at com.rey.material.widget.ProgressView.onVisibilityChanged(ProgressView.java:98)
at android.view.View.dispatchVisibilityChanged(View.java:8731)
at android.view.View.setFlags(View.java:9774)
at android.view.View.<init>(View.java:4159)
at android.view.View.<init>(View.java:3645)
at com.rey.material.widget.ProgressView.<init>(ProgressView.java:45)
at com.rey.material.widget.ProgressView.<init>(ProgressView.java:35)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
Hello Friend.The animation of opening an option is bit awesome with the quality.But i want to change the position of the button press at the top.How can i achieve it?It means when i click on button the 4 options will open around the button.I am posting screenshot.i want to achieve that kind of thing.Please help me.I
A example with background drawable full in button?
I'm getting the following NPE when Android Studio tries to render the layout in its Preview.
Maybe some initialization should be done if isInEditMode.
java.lang.NullPointerException
at com.ogaclejapan.arclayout.ArcLayout.onMeasure(ArcLayout.java:124)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:875)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:640)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:540)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:323)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:644)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:79)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:586)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:581)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
I am trying to implement like a path to other combos.. like left with bottom top etc.
In a way i achieved it but not with the best results in some combos.
Can u explain or build a way on doing this ? thanks a lot for ur code :)
I tried to open the project in Android Studio but it gives me this error:
Error:(2, 0) Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory
Could you please help me out?
Hello
sorry for my many questions
when I imported library into my project using gradle.build dependency it worked fine but it arc is always show centered no matter which value I give in arc_origin
in demo app it works great but doesn't work in my project I don't know why
thank you very much for your efforts.
I'm trying to use like a path shape.
Hi buddy,
First of all I would like to appreciate your great work.We have a issue where we are seeing the below warnings when we upgraded from
// compile 'com.android.support:support-v4:22.0.0'
// compile 'com.android.support:appcompat-v7:22.0.0'
to
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:support-v4:22.2.1'
01-08 06:39:14.191 2524-2524/com.tee3app.smsclassifier I/dalvikvm: Could not find method android.graphics.Path.arcTo, referenced from method com.ogaclejapan.arclayout.Arc.computePath
01-08 06:39:14.191 2524-2524/com.tee3app.smsclassifier W/dalvikvm: VFY: unable to resolve virtual method 835: Landroid/graphics/Path;.arcTo (FFFFFFZ)V
01-08 06:39:14.191 2524-2524/com.tee3app.smsclassifier D/dalvikvm: VFY: replacing opcode 0x74 at 0x0059
01-08 06:39:14.193 2524-2524/com.tee3app.smsclassifier W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/graphics/Outline;)
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier I/dalvikvm: Could not find method android.graphics.Path.isConvex, referenced from method com.ogaclejapan.arclayout.ArcDrawable.getOutline
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier W/dalvikvm: VFY: unable to resolve virtual method 839: Landroid/graphics/Path;.isConvex ()Z
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier D/dalvikvm: VFY: replacing opcode 0x6e at 0x0006
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier I/dalvikvm: Could not find method android.graphics.drawable.Drawable.getOutline, referenced from method com.ogaclejapan.arclayout.ArcDrawable.getOutline
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier W/dalvikvm: VFY: unable to resolve virtual method 931: Landroid/graphics/drawable/Drawable;.getOutline (Landroid/graphics/Outline;)V
01-08 06:39:14.194 2524-2524/com.tee3app.smsclassifier D/dalvikvm: VFY: replacing opcode 0x6f at 0x000c
Could you help us to get rid of it.
Thanks
//Tee3App Team
how can i import this class to android studio??? help me??
Hello friend
is there any ability to make two arcs in same view?
one inside the other one
one in left one right
and so on
sorry for my poor English I don't know if I clarified it enough or not.
I have the requirement of populating the arcLayout dynamically during runtime. I want the start angle to be changed programmatically. How to do it?
I follow the code to implement Tumblr menu in MainActivity, when a item click, it navigate to SettingActivity, then I press back to finish Setting activity, the menu still show . How to close the menu at OnResume of MainActivity ?
private void hideMenu(int cx, int cy, float startRadius, float endRadius) {
List<Animator> animList = new ArrayList<>();
for (int i = arcLayout.getChildCount() - 1; i >= 0; i--) {
animList.add(createHideItemAnimator(arcLayout.getChildAt(i)));
}
animList.add(createHideItemAnimator(centerItem));
Animator revealAnim = createCircularReveal(menuLayout, cx, cy, startRadius, endRadius);
revealAnim.setInterpolator(new AccelerateDecelerateInterpolator());
revealAnim.setDuration(200);
revealAnim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
menuLayout.setVisibility(View.INVISIBLE);
}
});
animList.add(revealAnim);
AnimatorSet animSet = new AnimatorSet();
animSet.playSequentially(animList);
animSet.start();
}
I found above code to close menu when fab clicked. But it not help when close menu at onResume
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.