TournamentBracketLib
Introduction: A library to generate tournament brackets with smooth transition and animations
Tags:
A library to generate tournament brackets with smooth transition and animations.
Use Cases of TournamentBracketLib
- Include a layout for tournament brackets in your project
- provides customisation options for background color, bracket color and text colors
Find this project useful? ❤️
- support it by providing a ⭐️ on the upper right of this page.
Requirement
- TournamentBracketLib can be included in Android version 7 (Nougat) and above
Using TournamentBracket in your application
- Add this to your project level build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
`
- Add the dependency
dependencies { implementation 'com.github.emil-ep:TournamentBracketLib:1.0.4' }
- Add a `BracketsView` component in your XML file
- Initialise your BracketsView
BracketsView bracketsView = findViewById(R.id.bracket_view);
- Provide the necessary data to populate the Brackets
- Breaking down the Attributes
- `CompetitorData` corresponds to an object with the necessary team/player data. Takes in `name` and `score` as parameters.
CompetitorData brazilSemiFinal = new CompetitorData("Brazil", "3");
CompetitorData englandSemiFinal = new CompetitorData("England", "1");
CompetitorData argentinaSemiFinal = new CompetitorData("Argentina", "3");
CompetitorData russiaSemiFinal = new CompetitorData("Russia", "2");
CompetitorData brazilFinal = new CompetitorData("Brazil", "4");
CompetitorData argentinaFinal = new CompetitorData("Argentina", "2");
```
- `MatchData` corresponds to an object with the necessary competitor informations for a particular Match. Takes in two `CompetitorData` as parameters(Team1, Team2).
```
MatchData match1SemiFinal = new MatchData(brazilSemiFinal, englandSemiFinal);
MatchData match2SemiFinal = new MatchData(argentinaSemiFinal, russiaSemiFinal);
MatchData match3Final = new MatchData(brazilFinal, argentinaFinal);
```
- `ColomnData` corresponds to list of matches that needs to be displayed in a section (Semi final, final etc). Takes in a list of `MatchData` as parameter.
```
ColomnData semiFinalColomn = new ColomnData(Arrays.asList(match1SemiFinal, match2SemiFinal));
ColomnData finalColomn = new ColomnData(Arrays.asList(match3Final));
```
call the
setBracketsData(List<ColomnData> sectionList)
methods frombracketsView
bracketsView.setBracketsData(Arrays.asList(semiFinalColomn, finalColomn));
All set 👏🏻