Skip to content

Commit 46ae4fe

Browse files
committed
Adds examples
1 parent f55de85 commit 46ae4fe

File tree

4 files changed

+112
-55
lines changed

4 files changed

+112
-55
lines changed

app/src/main/java/com/imangazaliev/circlemenu/sample/DataGroup.java

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.imangazaliev.circlemenu.sample;
2+
3+
public class ExampleData {
4+
5+
private Integer id;
6+
7+
public ExampleData(){
8+
}
9+
10+
public ExampleData(Integer id) {
11+
this.id = id;
12+
}
13+
14+
public Integer getId() {
15+
return id;
16+
}
17+
18+
public void setId(Integer id) {
19+
this.id = id;
20+
}
21+
}
Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.imangazaliev.circlemenu.sample;
22

33
import android.os.Bundle;
4+
import android.support.design.widget.Snackbar;
45
import android.support.v7.app.AppCompatActivity;
56
import android.util.Log;
6-
import android.view.View;
7-
import android.widget.Button;
7+
import android.view.ViewGroup;
88

99
import com.imangazaliev.circlemenu.CircleMenu;
1010
import com.imangazaliev.circlemenu.CircleMenuButton;
@@ -18,50 +18,63 @@ protected void onCreate(Bundle savedInstanceState) {
1818
super.onCreate(savedInstanceState);
1919
setContentView(R.layout.activity_main);
2020

21-
final CircleMenu circleMenu = (CircleMenu) findViewById(R.id.circle_menu);
22-
final Button button = (Button) findViewById(R.id.send_alert);
21+
final ViewGroup snackbarContainer = (ViewGroup) findViewById(R.id.snackbar_contaner);
2322

24-
for (int i = 0; i < 4; i ++) {
25-
CircleMenuButton circleMenuButton = new CircleMenuButton(this);
23+
final CircleMenu circleMenuDefault = (CircleMenu) findViewById(R.id.circle_menu_default);
24+
final CircleMenu circleMenuMultiple = (CircleMenu) findViewById(R.id.circle_menu_multiple);
2625

27-
circleMenuButton.setColorNormal(R.color.color_normal);
28-
circleMenuButton.setColorPressed(R.color.color_pressed);
29-
circleMenuButton.setIconResId(R.drawable.ic_favorite);
30-
circleMenuButton.setMetaData(new DataGroup(i));
31-
32-
circleMenu.addButton(circleMenuButton);
33-
}
26+
prepareViewCircleMenuDefault(circleMenuDefault, snackbarContainer);
27+
prepareViewCircleMenuMultiple(circleMenuMultiple);
28+
}
3429

35-
circleMenu.setOnConfirmationListener(new CircleMenu.OnConfirmationListener() {
30+
private void prepareViewCircleMenuDefault(CircleMenu circleMenu, final ViewGroup snackbarContainer) {
31+
circleMenu.setOnItemClickListener(new CircleMenu.OnItemClickListener() {
3632
@Override
37-
public void onConfirmation(List<Object> listData) {
38-
for (int i =0; i< listData.size(); i++ ) {
39-
DataGroup dataGroup = (DataGroup) listData.get(i);
40-
Log.d("MainActivity", "ID: " + dataGroup.getIdGroup());
41-
}
33+
public void onItemClick(CircleMenuButton menuButton) {
34+
Snackbar.make(snackbarContainer, menuButton.getHintText(), Snackbar.LENGTH_LONG).show();
4235
}
4336
});
4437

4538
circleMenu.setStateUpdateListener(new CircleMenu.OnStateUpdateListener() {
4639
@Override
4740
public void onMenuExpanded() {
48-
button.setVisibility(View.GONE);
41+
Log.d("CircleMenuStatus", "Expanded");
4942
}
5043

5144
@Override
5245
public void onMenuCollapsed() {
53-
button.setVisibility(View.VISIBLE);
46+
Log.d("CircleMenuStatus", "Collapsed");
5447
}
5548
});
49+
}
5650

57-
button.setOnLongClickListener(new View.OnLongClickListener() {
51+
private void prepareViewCircleMenuMultiple(CircleMenu circleMenuMultiple) {
52+
/**
53+
* adding dynamically
54+
*/
55+
for (int i = 0; i < 4; i ++) {
56+
CircleMenuButton circleMenuButton = new CircleMenuButton(this);
57+
58+
circleMenuButton.setColorNormal(R.color.color_normal);
59+
circleMenuButton.setColorPressed(R.color.color_pressed);
60+
circleMenuButton.setIconResId(R.drawable.ic_favorite);
61+
circleMenuButton.setMetaData(new ExampleData(i));
62+
63+
circleMenuMultiple.addButton(circleMenuButton);
64+
}
65+
66+
/**
67+
* get meta data of circles selected
68+
*/
69+
circleMenuMultiple.setOnConfirmationListener(new CircleMenu.OnConfirmationListener() {
5870
@Override
59-
public boolean onLongClick(View v) {
60-
circleMenu.getCenterButton().performClick();
61-
return true;
71+
public void onConfirmation(List<Object> listData) {
72+
for (int i =0; i< listData.size(); i++ ) {
73+
ExampleData exampleData = (ExampleData) listData.get(i);
74+
Log.d("MainActivity", "Id: " + exampleData.getId());
75+
}
6276
}
6377
});
64-
6578
}
6679

6780
}

app/src/main/res/layout/activity_main.xml

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,61 @@
55
android:layout_height="match_parent"
66
android:background="#fff">
77

8-
<Button
9-
android:id="@+id/send_alert"
10-
android:width="120dp"
11-
android:layout_centerInParent="true"
12-
android:height="120dp"
13-
android:background="@drawable/ic_add_alert_black_24dp"
8+
<com.imangazaliev.circlemenu.CircleMenu
9+
android:id="@+id/circle_menu_default"
1410
android:layout_width="wrap_content"
15-
android:layout_height="wrap_content" />
11+
android:layout_height="wrap_content"
12+
app:hintsEnabled="true">
13+
14+
<com.imangazaliev.circlemenu.CircleMenuButton
15+
android:id="@+id/favorite"
16+
android:layout_width="wrap_content"
17+
android:layout_height="wrap_content"
18+
app:colorNormal="#2196F3"
19+
app:colorPressed="#1E88E5"
20+
app:hintText="Favorite"
21+
app:icon="@drawable/ic_favorite" />
22+
23+
<com.imangazaliev.circlemenu.CircleMenuButton
24+
android:id="@+id/search"
25+
android:layout_width="wrap_content"
26+
android:layout_height="wrap_content"
27+
app:colorNormal="#4CAF50"
28+
app:colorPressed="#43A047"
29+
app:hintText="Search"
30+
app:icon="@drawable/ic_search" />
31+
32+
<com.imangazaliev.circlemenu.CircleMenuButton
33+
android:id="@+id/alert"
34+
android:layout_width="wrap_content"
35+
android:layout_height="wrap_content"
36+
app:colorNormal="#F44336"
37+
app:colorPressed="#E53935"
38+
app:hintText="Alert"
39+
app:icon="@drawable/ic_alert" />
40+
41+
<com.imangazaliev.circlemenu.CircleMenuButton
42+
android:id="@+id/place"
43+
android:layout_width="wrap_content"
44+
android:layout_height="wrap_content"
45+
app:colorNormal="#9C27B0"
46+
app:colorPressed="#8E24AA"
47+
app:hintText="Place"
48+
app:icon="@drawable/ic_place" />
49+
50+
<com.imangazaliev.circlemenu.CircleMenuButton
51+
android:id="@+id/edit"
52+
android:layout_width="wrap_content"
53+
android:layout_height="wrap_content"
54+
app:colorNormal="#FF9800"
55+
app:colorPressed="#FB8C00"
56+
app:hintText="Edit"
57+
app:icon="@drawable/ic_edit" />
58+
59+
</com.imangazaliev.circlemenu.CircleMenu>
1660

1761
<com.imangazaliev.circlemenu.CircleMenu
18-
android:id="@+id/circle_menu"
62+
android:id="@+id/circle_menu_multiple"
1963
android:layout_width="wrap_content"
2064
android:layout_height="wrap_content"
2165
android:layout_centerInParent="true"

0 commit comments

Comments
 (0)