Skip to content

Commit 40e6bdb

Browse files
committed
Add documentation
1 parent 6587d02 commit 40e6bdb

File tree

2 files changed

+93
-6
lines changed

2 files changed

+93
-6
lines changed

circle-menu/src/main/java/com/ramotion/circlemenu/CircleMenuView.java

Lines changed: 84 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,51 @@
3030
import java.util.List;
3131

3232

33+
/**
34+
* CircleMenuView
35+
*/
3336
public class CircleMenuView extends FrameLayout implements View.OnClickListener {
3437

38+
/**
39+
* CircleMenu event listener.
40+
*/
3541
public static class EventListener {
42+
/**
43+
* Invoked on menu button click, before animation start.
44+
* @param view current CircleMenuView instance.
45+
*/
3646
public void onMenuOpenAnimationStart(@NonNull CircleMenuView view) {}
47+
48+
/**
49+
* Invoked on menu button click, after animation end.
50+
* @param view - current CircleMenuView instance.
51+
*/
3752
public void onMenuOpenAnimationEnd(@NonNull CircleMenuView view) {}
53+
54+
/**
55+
* Invoked on close menu button click, before animation start.
56+
* @param view - current CircleMenuView instance.
57+
*/
3858
public void onMenuCloseAnimationStart(@NonNull CircleMenuView view) {}
59+
60+
/**
61+
* Invoked on close menu button click, after animation end.
62+
* @param view - current CircleMenuView instance.
63+
*/
3964
public void onMenuCloseAnimationEnd(@NonNull CircleMenuView view) {}
65+
66+
/**
67+
* Invoked on button click, before animation start.
68+
* @param view - current CircleMenuView instance.
69+
* @param buttonIndex - clicked button zero-based index.
70+
*/
4071
public void onButtonClickAnimationStart(@NonNull CircleMenuView view, int buttonIndex) {}
72+
73+
/**
74+
* Invoked on button click, after animation end.
75+
* @param view - current CircleMenuView instance.
76+
* @param buttonIndex - clicked button zero-based index.
77+
*/
4178
public void onButtonClickAnimationEnd(@NonNull CircleMenuView view, int buttonIndex) {}
4279
}
4380

@@ -58,11 +95,6 @@ public void onButtonClickAnimationEnd(@NonNull CircleMenuView view, int buttonIn
5895

5996
private final List<View> mButtons = new ArrayList<>();
6097

61-
public CircleMenuView(@NonNull Context context) {
62-
super(context);
63-
init(context, null, null, null);
64-
}
65-
6698
public CircleMenuView(@NonNull Context context, @Nullable AttributeSet attrs) {
6799
super(context, attrs);
68100
init(context, attrs, null, null);
@@ -73,6 +105,12 @@ public CircleMenuView(@NonNull Context context, @Nullable AttributeSet attrs, @A
73105
init(context, attrs, null, null);
74106
}
75107

108+
/**
109+
* Constructor for creation CircleMenuView in code, not in xml-layout.
110+
* @param context current context, will be used to access resources.
111+
* @param icons buttons icons resource ids array. Items must be @DrawableRes.
112+
* @param colors buttons colors resource ids array. Items must be @DrawableRes.
113+
*/
76114
public CircleMenuView(@NonNull Context context, @NonNull List<Integer> icons, @NonNull List<Integer> colors) {
77115
super(context);
78116
init(context, null, icons, colors);
@@ -468,43 +506,83 @@ public int getIconClose() {
468506
return mIconClose;
469507
}
470508

509+
/**
510+
* See {@link R.styleable#CircleMenuView_duration_close}
511+
* @param duration close animation duration in milliseconds.
512+
*/
471513
public void setDurationClose(int duration) {
472514
mDurationClose = duration;
473515
}
474516

517+
/**
518+
* See {@link R.styleable#CircleMenuView_duration_close}
519+
* @return current close animation duration.
520+
*/
475521
public int getDurationClose() {
476522
return mDurationClose;
477523
}
478524

525+
/**
526+
* See {@link R.styleable#CircleMenuView_duration_open}
527+
* @param duration open animation duration in milliseconds.
528+
*/
479529
public void setDurationOpen(int duration) {
480530
mDurationOpen = duration;
481531
}
482532

533+
/**
534+
* See {@link R.styleable#CircleMenuView_duration_open}
535+
* @return current open animation duration.
536+
*/
483537
public int getDurationOpen() {
484538
return mDurationOpen;
485539
}
486540

541+
/**
542+
* See {@link R.styleable#CircleMenuView_duration_ring}
543+
* @param duration ring animation duration in milliseconds.
544+
*/
487545
public void setDurationRing(int duration) {
488546
mDurationRing = duration;
489547
}
490548

549+
/**
550+
* See {@link R.styleable#CircleMenuView_duration_ring}
551+
* @return current ring animation duration.
552+
*/
491553
public int getDurationRing() {
492554
return mDurationRing;
493555
}
494556

557+
/**
558+
* See {@link R.styleable#CircleMenuView_distance}
559+
* @param distance in pixels.
560+
*/
495561
public void setDistance(float distance) {
496562
mDistance = distance;
497563
invalidate();
498564
}
499565

566+
/**
567+
* See {@link R.styleable#CircleMenuView_distance}
568+
* @return current distance in pixels.
569+
*/
500570
public float getDistance() {
501571
return mDistance;
502572
}
503573

504-
public void setEventListener(EventListener listener) {
574+
/**
575+
* See {@link CircleMenuView.EventListener }
576+
* @param listener new event listener or null.
577+
*/
578+
public void setEventListener(@Nullable EventListener listener) {
505579
mListener = listener;
506580
}
507581

582+
/**
583+
* See {@link CircleMenuView.EventListener }
584+
* @return current event listener or null.
585+
*/
508586
public EventListener getEventListener() {
509587
return mListener;
510588
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<declare-styleable name="CircleMenuView">
4+
<!-- Array of buttons icons. -->
45
<attr name="button_icons" format="reference"/>
6+
<!-- Array of buttons colors. -->
57
<attr name="button_colors" format="reference"/>
8+
<!-- Menu default icon. -->
69
<attr name="icon_menu" format="reference"/>
10+
<!-- Menu closed icon. -->
711
<attr name="icon_close" format="reference"/>
12+
<!-- Menu icon color. -->
813
<attr name="icon_color" format="color"/>
14+
<!-- Ring effect duration. -->
915
<attr name="duration_ring" format="integer"/>
16+
<!-- Menu opening animation duration. -->
1017
<attr name="duration_open" format="integer"/>
18+
<!-- Menu closing animation duration. -->
1119
<attr name="duration_close" format="integer"/>
20+
<!-- Distance between center button and buttons. -->
1221
<attr name="distance" format="dimension"/>
1322
</declare-styleable>
1423
</resources>

0 commit comments

Comments
 (0)