Aller au contenu principal

🖥️ Navigation, modules, thème (Android)

Après connect, AzeooSDK.shared expose :

  • sdk.navigate(...) + opérations retour — navigation typée
  • sdk.setModuleContainer(...) — coordination UI native adaptative
  • sdk.modules.nutrition / sdk.modules.training — intégration (Fragment / View / Compose)
  • sdk.theme — contrôle du thème à l'exécution
sdk.navigate(AzeooDestination.Nutrition.Plan(id = "abc-123"))
sdk.navigate(AzeooDestination.Training.Workouts)
sdk.back()
sdk.backToRoot()
sdk.canGoBack { result -> /* Boolean */ }
sdk.getCurrentRoute { result -> /* String? */ }

Catalogue complet : Catalogue des destinations (nutrition + entraînement).

Coordinateurs de modules (setModuleContainer)

Installez une fois au démarrage pour que la navigation inter-modules bascule votre bottom nav / rail / drawer :

sdk.setModuleContainer(AzeooBottomNavCoordinator(
bottomNav = findViewById(R.id.bottom_nav),
mapping = mapOf(
AzeooDestination.Module.NUTRITION to R.id.nav_nutrition,
AzeooDestination.Module.TRAINING to R.id.nav_training,
),
))

Coordinateurs intégrés :

  • AzeooBottomNavCoordinator — pour BottomNavigationView Material
  • AzeooNavigationRailCoordinator — pour NavigationRailView Material
  • AzeooNavComponentCoordinator — pour Jetpack Navigation Component

Conteneurs personnalisés (drawer / ViewPager2 / échange de fragments / autre) : implémentez AzeooModuleContainer directement — une seule méthode.

Nettoyage dans Activity.onDestroy :

override fun onDestroy() {
AzeooSDK.shared.setModuleContainer(null)
super.onDestroy()
}

Intégration

// Fragment
val frag = sdk.modules.nutrition.getFragment(bottomSafeArea = false)
supportFragmentManager.beginTransaction()
.replace(R.id.container, frag)
.commitNow()

// View
val view = sdk.modules.nutrition.getView(context)

// Compose
sdk.modules.nutrition.ComposeView(bottomSafeArea = true)

Thème (sdk.theme)

setMode, setLightMode, setDarkMode, setSystemMode, toggleMode, setPrimaryColor, setSecondaryColor, setLightColors, setDarkColors, setTheme, resetToDefault, getCurrentTheme.

Voir aussi