Connection instruction was added

This commit is contained in:
Daniil Borisovskii 2019-08-26 18:09:16 +03:00
parent 6d180f6b06
commit 785e62b30c
1 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,27 @@
tabbar-navigation
===
Модуль, упрощающий добавление таббара с обособленной навигацией в каждой табе. Данный модуль базируется на классах модуля `navigation` `NavigationActivity`, `ViewControllerNavigation`, `ViewController`.
### Подключение
```gradle
implementation project(':tabbar-navigation')
```
### Последовательность необходимых действий с основными классами для организации навигации:
1. Отнаследовать главную `Activity` приложения от `BottomNavigationActivity` и переопределить следующие поля:
* `fragmentContainerViewId: Int` идентификатор `View` корневого контейнера фрагментов главной `Activity`
2. Отнаследовать контейнерный `Fragment` приложения от BottomNavigationFragment и переопределить следующие поля:
* `rootLayoutId: Int` идентификатор `Layout` корневого фрагмента.
* `navigationContainerViewId: Int` идентификатор `View` контейнера таббара внутри `Layout` корневого фрагмента.
* `contentContainerViewId: Int` идентификатор `View` контейнера содержимого каждой табы внутри `Layout` корневого фрагмента.
* `contentContainerLayoutId: Int` идентификатор `Layout` контейнера содержимого каждой табы.
* `topLevelViewControllerId: Int` идентификатор `View` кнопки главной табы внутри `View` контейнера таббара.
* `wrapWithNavigationContainer: Boolean` параметр, отвечающий за необходимость добавления обособленной навигации в каждой табе. Если он `false`, то в приложении будет навигация только на уровне главной `Activity`.
* `navigationViewControllers: SparseArray<Pair<Class<out ViewController<*, *>>, Parcelable>>` `SparseArray` с идентификаторами `ViewController` кнопок каждой табы в качестве ключей и пары `ViewControllerClass to ViewControllerState` в качестве значений.
***Количество кнопок в таббаре может быть произвольным***