|
This chapter covers the basic setup for using this library.
|
|
How to use BMB in just several lines of code?
|
|
|
|
|
|
###Creating BMB
|
|
###Create BMB
|
|
|
|
|
|
Add BMB in .xml file.
|
|
Add BMB in .xml file.
|
|
|
|
|
... | @@ -20,12 +20,42 @@ BoomMenuButton bmb = (BoomMenuButton) findViewById(R.id.bmb); |
... | @@ -20,12 +20,42 @@ BoomMenuButton bmb = (BoomMenuButton) findViewById(R.id.bmb); |
|
|
|
|
|
Set button-enum for BMB, button-enum tells which kind of boom-button(the sub-buttons when booming) that you want.
|
|
Set button-enum for BMB, button-enum tells which kind of boom-button(the sub-buttons when booming) that you want.
|
|
|
|
|
|
1. `ButtonEnum.SimpleCircle` corresponding to [Simple Circle Button]()
|
|
1. `ButtonEnum.SimpleCircle` corresponding to [Simple Circle Button](https://github.com/Nightonke/BoomMenu/wiki/Simple-Circle-Button)
|
|
|
|
2. `ButtonEnum.TextInsideCircle` corresponding to [Text Inside Circle Button](https://github.com/Nightonke/BoomMenu/wiki/Text-Inside-Circle-Button)
|
|
|
|
3. `ButtonEnum.TextOutsideCircle` corresponding to [Text Outside Circle Button](https://github.com/Nightonke/BoomMenu/wiki/Text-Outside-Circle-Button)
|
|
|
|
4. `ButtonEnum.Ham` corresponding to [Ham Button](https://github.com/Nightonke/BoomMenu/wiki/Ham-Button)
|
|
|
|
|
|
```
|
|
```
|
|
bmb.setButtonEnum(ButtonEnum.SimpleCircle);
|
|
bmb.setButtonEnum(ButtonEnum.SimpleCircle);
|
|
```
|
|
```
|
|
bmb.setButtonEnum(ButtonEnum.SimpleCircle);
|
|
|
|
bmb.setPiecePlaceEnum(PiecePlaceEnum.DOT_1);
|
|
Then you need to tell BMB how it should place pieces on itself. Click the links for 4 kinds of buttons above to check different piece-place-enums.
|
|
bmb.setButtonPlaceEnum(ButtonPlaceEnum.SC_1);
|
|
|
|
``` |
|
```
|
|
\ No newline at end of file |
|
bmb.setPiecePlaceEnum(PiecePlaceEnum.DOT_3_1);
|
|
|
|
```
|
|
|
|
|
|
|
|
Now tell BMB how to place the buttons on the screen when booming. Click the links for 4 kinds of buttons above to check different button-place-enums.
|
|
|
|
|
|
|
|
```
|
|
|
|
bmb.setButtonPlaceEnum(ButtonPlaceEnum.SC_3_3);
|
|
|
|
```
|
|
|
|
|
|
|
|
###Add Builders
|
|
|
|
You have set attributes for BMB itself, now add builders for customizing boom-buttons to BMB. There are 4 different builders for the 4 kinds of boom-buttons above. For instance, use `SimpleCircleButton.Builder` for `ButtonEnum.SimpleCircle`. Click the links for 4 kinds of buttons above to find out how to use builders.
|
|
|
|
|
|
|
|
```
|
|
|
|
for (int i = 0; i < bmb.getButtonPlaceEnum().buttonNumber(); i++) {
|
|
|
|
bmb.addBuilder(new SimpleCircleButton.Builder()
|
|
|
|
.normalImageRes(R.drawable.jellyfish));
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
And now your BMB is ready for a boom.
|
|
|
|
|
|
|
|
###Attention
|
|
|
|
You must keep the number of piece-place-enum, number of button-place-enum and number of builders being the same.
|
|
|
|
|
|
|
|
The name of piece-place-enum is XXX_N_M, where XXX is name(DOT or HAM), N is number and M represents different types. Similarly, the name of button-place-enum is YYY_N_M. You must keep the first N equals to the second one. But you needn't keep the two M same(The code above is an example: DOT_3_1 and SC_3_3).
|
|
|
|
|
|
|
|
And the number of builders must be N. Any breaking-rules-code will get a runtime exception. |
|
|
|
\ No newline at end of file |