Bottom Sheet in Jetpack Compose

The Bottom Sheet is a versatile and interactive component in Jetpack Compose that allows you to present additional content or actions within your app without obstructing the main screen. In this article, we will explore the features and usage of the Bottom Sheet in Jetpack Compose, along with relevant example programs. By leveraging this powerful component, you can enhance user experience and provide seamless access to supplementary information or functionality within your Android application.

Understanding Bottom Sheet:

The Bottom Sheet is a UI element that appears from the bottom of the screen and can be swiped up or down to reveal or hide its contents. It is commonly used to display contextual information, and additional options, or perform actions that are directly related to the current screen. The Bottom Sheet provides a sleek and non-intrusive way to present dynamic content while keeping the main focus on the primary screen.

Key Features of Bottom Sheet:

  1. Interactive Behavior: The Bottom Sheet can be dragged up or down by the user, making it interactive and giving users control over its visibility. This allows for a seamless and intuitive user experience.

  2. Different States: Bottom Sheets can have different states, such as expanded, collapsed, or half-expanded, depending on the amount of content you want to display. This flexibility ensures that the Bottom Sheet adapts to the specific requirements of your app.

  3. Customization Options: You can customize the appearance of the Bottom Sheet to match your app’s design language. You have control over attributes like background colour, corner radius, elevation, and more, enabling you to create a cohesive user interface.

Example Program: Basic Bottom Sheet Implementation:

Let’s dive into a basic example program that demonstrates the implementation of a Bottom Sheet in Jetpack Compose:

fun MyScreen() {
    val bottomSheetState = rememberBottomSheetState(BottomSheetValue.Collapsed)

        content = {
            // Main screen content goes here
        bottomSheetContent = {
            Column(Modifier.padding(16.dp)) {
                Text(text = "Additional Information")
                    onClick = { /* Perform action */ },
                    modifier = Modifier.align(Alignment.CenterHorizontally)
                ) {
                    Text(text = "Action Button")
        sheetState = bottomSheetState,
        sheetContentColor = MaterialTheme.colors.background,
        sheetBackgroundColor = MaterialTheme.colors.primary

In this example, we define the MyScreen composable function, which utilizes the Scaffold component to create the main screen layout. The bottomSheetContent parameter specifies the content of the Bottom Sheet, including a Text component and an Action Button. The Bottom Sheet is controlled by the bottomSheetState, which determines its initial state (collapsed in this case).


The Bottom Sheet in Jetpack Compose offers a seamless way to present additional content or actions within your app. By leveraging its interactive behaviour, different states, and customization options, you can enhance user experience and provide easy access to supplementary information or functionality. The example program serves as a starting point for incorporating a Bottom Sheet into your Android application.

Spread the love
Scroll to Top