Guia Navigation
Github
  • Overview
  • Setup
  • Using Guia
    • 📔Express Lore
      • Quick Start
    • 📖The Lore
      • Navigation Key
      • Navigation Node
        • Screen
        • Bottom Sheet
        • Dialog
      • Navigator
        • Navigation Operations
        • Navigator Instance
        • Back Handling
      • Navigator Config
        • Dynamic Navigation Node
        • Transitions
      • Containers
      • NavHost
        • Back Handling
      • Multi module navigation
        • NavHost Multi module
      • Deep Linking / Global Navigation
      • Results
      • Lifecycle, ViewModel, Saved State
      • UI Tests
  • 🤖Advanced
    • Custom LifecycleManager
Powered by GitBook
On this page
  • currentKey
  • currentEntry
  • push
  • pop
  • replaceLast
  • replaceUpTo
  • replaceUpTo [Key]
  • moveToTop
  • moveToTop [Key]
  • singleInstance
  • singleTop
  • popTo
  • popTo [Key]
  • removeAll
  • removeAll [Key]
  • popToRoot
  • setRoot
  • canGoback
  • none
  • none [Key]
  • any
  • any [Key]
  1. Using Guia
  2. The Lore
  3. Navigator

Navigation Operations

Guia provides an extensive list of navigation operations.

currentKey

val Navigator.currentKey

Returns the current NavigationKey

currentEntry

val Navigator.currentEntry

Returns the current BackStackEntry

push

fun Navigator.push(
    navigationKey: NavigationKey
)

Adds a new key to the backstack.

pop

fun Navigator.pop(): Boolean

Pops the last entry in the backstack.

replaceLast

fun Navigator.replaceLast(
    navigationKey: NavigationKey
)

Adds a new key to the backstack.

replaceUpTo

fun Navigator.replaceUpTo(
    navigationKey: NavigationKey,
    inclusive: Boolean = true,
    predicate: (NavigationKey) -> Boolean
)

Loops through navigation keys from the top of the backstack until the predicate is satisfied and replaces all those keys with a new key.

replaceUpTo [Key]

inline fun <reified Key : NavigationKey> Navigator.replaceUpTo(
    navigationKey: NavigationKey,
    inclusive: Boolean = false
)

Replaces all navigation keys in the backstack until a key of type [Key] is reached.

moveToTop

fun Navigator.moveToTop(
    match: Match = Match.Last,
    predicate: (NavigationKey) -> Boolean
): Boolean

Moves a navigation key that matches the given condition to the top

moveToTop [Key]

inline fun <reified Key : NavigationKey> Navigator.moveToTop(
    match: Match = Match.Last,
)

Moves a navigation key of type [Key] to the top of backstack.

singleInstance

inline fun <reified Key : NavigationKey> Navigator.singleInstance(
    navigationKey: Key,
    match: Match = Match.Last,
    checkForExisting: Boolean = false,
)

Navigates to a navigation key and removes all navigation keys that are of the same type from the backstack.

singleTop

inline fun <reified Key : NavigationKey> Navigator.singleTop(
    navigationKey: Key
)

popTo

fun Navigator.popTo(
    inclusive: Boolean = false,
    predicate: (NavigationKey) -> Boolean,
)

Pops to a [NavigationKey] matching [predicate]

popTo [Key]

inline fun <reified Key : NavigationKey> Navigator.popTo(
    inclusive: Boolean = false,
    crossinline predicate: (Key) -> Boolean = { true },
)

Pops to a [NavigationKey] of the same type [Key].

removeAll

fun Navigator.removeAll(
    predicate: (NavigationKey) -> Boolean
)

Removes all navigation keys matching [predicate].

removeAll [Key]

inline fun <reified Key : NavigationKey> Navigator.removeAll()

Removes all navigation keys that are of type [Key].

popToRoot

fun Navigator.popToRoot()

Pops to the root of the backstack.

setRoot

fun Navigator.setRoot(
    navigationKey: NavigationKey
) 

Clears the backstack and sets a new root [NavigationKey]

canGoback

fun Navigator.canGoBack(): Boolean

Whether or not the navigator has more than one element and can pop back stack.

none

fun Navigator.none(
    predicate: (NavigationKey) -> Boolean
)

Checks if none of the navigation keys matches the condition.

none [Key]

inline fun <reified Key : NavigationKey> Navigator.none()

Checks if none of the navigation keys is of type [Key].

any

fun Navigator.any(
    predicate: (NavigationKey) -> Boolean
)

Checks if any of the navigation keys matches the condition.

any [Key]

inline fun <reified Key : NavigationKey> Navigator.any()

Checks if any of the navigation keys is of type [Key].

PreviousNavigatorNextNavigator Instance

Last updated 2 years ago

Navigates to [navigationKey] if the is not of the same type.

📖
currentKey