> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/android/navigation/ux/llms.txt)

# Maneuver banner customization

You can customize the maneuver banner by providing your own UI written in Jetpack Compose.

![Maneuver banner](https://docs.mapbox.com/android/assets/ideal-img/dash-sdk-maneuver-banner.07e6c3c.480.png)

## Customizing Maneuver Content

The `setManeuver` function in `DashNavigationFragment` enables you to define custom content for the maneuver display. It accepts a `ManeuverUiComposer`, which is a composable function with two parameters: `modifier` and `state`. The `modifier` is an instance of [`Modifier`](https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier), used for layout adjustments. The `state` is an instance of `ManeuverUiState`, encapsulating the information needed to render the maneuver.

### ManeuverUiState

The `ManeuverUiState` class provides details for rendering maneuver content. Its parameters include:

-   **destination**: The final destination for the current route leg.
-   **maneuver**: Information about the next maneuver.
-   **shields**: A set of `RouteShield` objects for visual representation.
-   **stepDistance**: The formatted distance to the next maneuver.

### Example Usage

To set a custom maneuver implementation:

```kotlin
fragment.setManeuver { state, modifier ->
    CustomManeuverView(state, modifier)
}
```

The `CustomManeuverView` composable defines how the maneuver is displayed using the provided `ManeuverUiState`.

To revert to the default implementation at runtime:

```kotlin
fragment.setManeuver { state, modifier ->
    DefaultManeuverView(state, modifier)
}
```

For additional examples, refer to the [Dash Android Examples repository](https://github.com/mapbox/dash-android-examples).