# androidx.navigation3.ui

Common/AllAndroid/JVM

## Objects

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay` | Object that indicates the features that can be handled by the `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay` | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay.PopTransitionKey` | The key for `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry#metadata()` or `https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene#metadata()` to notify the `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay` of how the content should be animated when popping from backstack. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay.PredictivePopTransitionKey` | The key for `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry#metadata()` or `https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene#metadata()` to notify the `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay` of how the content should be animated when popping from backstack using a Predictive back gesture. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay.TransitionKey` | The key for `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry#metadata()` or `https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene#metadata()` to notify the `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay` of how the content should be animated when adding to the backstack. | Cmn |

## Composables

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay.composable` | A nav display that renders and animates between different `https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene`s, each of which can render one or more `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry`s. | Cmn |

## Top-level functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene<T>>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ContentTransform` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation3/ui/package-summary#defaultPopTransitionSpec()()` Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for pop navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene<T>>.(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ContentTransform` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation3/ui/package-summary#defaultPredictivePopTransitionSpec()()` Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for predictive pop navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentTransitionScope<https://developer.android.com/reference/kotlin/androidx/navigation3/scene/Scene<T>>.() -> https://developer.android.com/reference/kotlin/androidx/compose/animation/ContentTransform` | `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation3/ui/package-summary#defaultTransitionSpec()()` Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for forward navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`. | Cmn android |

## Top-level properties summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentScope>` | `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/package-summary#LocalNavAnimatedContentScope()` Local provider of `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentScope` to `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry#Content()`. | Cmn |

## Top-level functions

### defaultPopTransitionSpec

Cmn android Artifact: [androidx.navigation3:navigation3-ui](https://developer.android.com/jetpack/androidx/releases/navigation3) [View Source](https://cs.android.com/search?q=file:androidx/navigation3/ui/NavDisplay.+function:defaultPopTransitionSpec) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation3#1.0.0)

```
fun <T : Any> defaultPopTransitionSpec(): AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform
```

Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for pop navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`.

### defaultPredictivePopTransitionSpec

Cmn android Artifact: [androidx.navigation3:navigation3-ui](https://developer.android.com/jetpack/androidx/releases/navigation3) [View Source](https://cs.android.com/search?q=file:androidx/navigation3/ui/NavDisplay.+function:defaultPredictivePopTransitionSpec) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation3#1.0.0)

```
fun <T : Any> defaultPredictivePopTransitionSpec(): AnimatedContentTransitionScope<Scene<T>>.(Int) -> ContentTransform
```

Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for predictive pop navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`.

### defaultTransitionSpec

Cmn android Artifact: [androidx.navigation3:navigation3-ui](https://developer.android.com/jetpack/androidx/releases/navigation3) [View Source](https://cs.android.com/search?q=file:androidx/navigation3/ui/NavDisplay.+function:defaultTransitionSpec) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation3#1.0.0)

```
fun <T : Any> defaultTransitionSpec(): AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform
```

Default `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay#transitionSpec(kotlin.Function1)` for forward navigation to be used by `https://developer.android.com/reference/kotlin/androidx/navigation3/ui/NavDisplay`.

## Top-level properties

### LocalNavAnimatedContentScope

Cmn Artifact: [androidx.navigation3:navigation3-ui](https://developer.android.com/jetpack/androidx/releases/navigation3) [View Source](https://cs.android.com/search?q=file:androidx/navigation3/ui/LocalNavAnimatedContentScope.kt+symbol:LocalNavAnimatedContentScope) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation3#1.0.0)

```
val LocalNavAnimatedContentScope: ProvidableCompositionLocal<AnimatedContentScope>
```

Local provider of `https://developer.android.com/reference/kotlin/androidx/compose/animation/AnimatedContentScope` to `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry#Content()`.

This does not have a default value since the AnimatedContentScope is provided at runtime by AnimatedContent.

```kotlin
import androidx.compose.animation.SharedTransitionLayout
import androidx.compose.runtime.remember
import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberNavBackStack
import androidx.navigation3.ui.NavDisplay

val backStack = rememberNavBackStack(CatList)
SharedTransitionLayout {
    NavDisplay(
        backStack = backStack,
        onBack = { backStack.removeAt(backStack.lastIndex) },
        entryProvider =
            entryProvider {
                entry<CatList> {
                    CatList(this@SharedTransitionLayout) { cat ->
                        backStack.add(CatDetail(cat))
                    }
                }
                entry<CatDetail> { args ->
                    CatDetail(args.cat, this@SharedTransitionLayout) {
                        backStack.removeAt(backStack.lastIndex)
                    }
                }
            },
    )
}
```