NavigatorScreen

abstract class NavigatorScreen<T : NavigatorTab<*>>(loggerEnabled: Boolean = true) : EquinoxNoModelScreen

The NavigatorScreen provides a responsive navigation system that dynamically adjusts the navigation bars and content of each screen based on the current com.tecknobit.equinoxcompose.utilities.ResponsiveClass

Related documentation: NavigatorScreen.md

Author

N7ghtm4r3 - Tecknobit

Since

1.0.0

Parameters

T

The type of the NavigatorTab used by the navigator

See also

Constructors

Link copied to clipboard
constructor(loggerEnabled: Boolean = true)

Properties

Link copied to clipboard
protected lateinit var activeNavigationTabIndex: MutableState<Int>

activeNavigationTabIndex the index of the current NavigatorTab displayed

Link copied to clipboard
private val loggerEnabled: Boolean
Link copied to clipboard
protected val tabs: Array<T>

tabs the reachable destinations tabs

Functions

Link copied to clipboard
protected abstract fun ArrangeScreenContent()
Link copied to clipboard
private fun BottomNavigationArrangement(modifier: Modifier, backgroundTab: Color)

Custom BottomAppBar displayed on the MEDIUM_EXPANDED_CONTENT and COMPACT_CONTENT responsive screen classes

Link copied to clipboard
protected open fun RowScope.BottomNavigationItem(index: Int, tab: T)

The navigation item of the BottomNavigationItem bar

Link copied to clipboard
protected open override fun CollectStates()

Method used to collect or instantiate the states of the screen

Link copied to clipboard
protected open fun CollectStatesAfterLoading()
Link copied to clipboard
protected fun LifecycleManager(lifecycleOwner: LifecycleOwner)
Link copied to clipboard
protected fun logScreenEvent(event: Lifecycle.Event)
protected fun logScreenEvent(event: String)
Link copied to clipboard
protected fun NavigationContent(    sideBarModifier: Modifier = Modifier,     sideBarWidth: Dp = 185.dp,     bottomBarModifier: Modifier = Modifier,     backgroundTab: Color = MaterialTheme.colorScheme.background)

Responsive navigation system based on the current com.tecknobit.equinoxcompose.utilities.ResponsiveClass

Link copied to clipboard
protected abstract fun navigationTabs(): Array<T>

Method used to retrieve the tabs to assign to the tabs array

Link copied to clipboard
protected open fun onAny()
Link copied to clipboard
protected open fun onCreate()
Link copied to clipboard
protected open fun onDestroy()
Link copied to clipboard
protected open fun onDispose()
Link copied to clipboard
protected open fun onInit()
Link copied to clipboard
protected open fun onPause()
Link copied to clipboard
protected open fun onResume()
Link copied to clipboard
protected open fun onStart()
Link copied to clipboard
protected open fun onStop()
Link copied to clipboard
protected open fun NavigatorTab<*>.prepareTitle(): String

Method used to prepare the title for the SideNavigationItem and the BottomNavigationItem based on the NavigatorTab used by the navigator

Link copied to clipboard
private fun ScreenTabContent(paddingValues: PaddingValues)

The content of the tab

Link copied to clipboard
Link copied to clipboard
private fun SideNavigationArrangement(modifier: Modifier, sideBarWidth: Dp, backgroundTab: Color)

Custom NavigationRail displayed on the EXPANDED_CONTENT and MEDIUM_CONTENT responsive screen classes

Link copied to clipboard

Custom footer content to display on the SideNavigationArrangement bar

Link copied to clipboard

Custom header content to display on the SideNavigationArrangement bar

Link copied to clipboard
protected open fun SideNavigationItem(index: Int, tab: T)

The navigation item of the SideNavigationArrangement bar

Link copied to clipboard
protected abstract fun Int.tabContent(): EquinoxNoModelScreen

Method used to instantiate the related screen based on the current activeNavigationTabIndex