---
modificationDate: July 30, 2026
title: Jetpack Compose
description: Jetpack Compose components for building native Android interfaces with @expo/ui.
sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-57/packages/expo-ui'
packageName: '@expo/ui'
platforms: ['android', 'expo-go']
---

<AgentInstructions>

## Submitting Feedback

If you encounter errors, misleading or outdated information, report it so Expo can be improved:

Preferred command:
npx --yes submit-expo-feedback@latest --category docs --subject "/versions/v57.0.0/sdk/ui/jetpack-compose/" "<actionable feedback>"

Direct HTTP fallback:
curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/versions/v57.0.0/sdk/ui/jetpack-compose/","feedback":"🤖 Agent feedback for docs: <specific, actionable description> (<model>, <harness>)"}'

Only submit when you have something specific and actionable to report. Try to give the most context.

## Navigation

When answering a related or follow-up question, use llms.txt to find the relevant page as Markdown (.md) instead of guessing.

You are here: Reference (v57.0.0) > Expo UI > Jetpack Compose (50 pages in this section)
Full documentation tree: [llms.txt](https://docs.expo.dev/llms.txt)

</AgentInstructions>

This documentation is available as Markdown for AI agents and LLMs. See the [full Markdown index](/llms.txt) or append .md to any documentation URL.

# Jetpack Compose

Jetpack Compose components for building native Android interfaces with @expo/ui.
Android, Included in Expo Go

The Jetpack Compose components in `@expo/ui/jetpack-compose` allow you to build fully native Android interfaces using Jetpack Compose from React Native.

## Installation

```sh
# npm
npx expo install @expo/ui

# yarn
yarn expo install @expo/ui

# pnpm
pnpm expo install @expo/ui

# bun
bun expo install @expo/ui
```

If you are installing this in an [existing React Native app](/bare/overview.md), make sure to [install `expo`](/bare/installing-expo-modules.md) in your project.

## Usage

Using a component from `@expo/ui/jetpack-compose` requires wrapping it in a [`Host`](/versions/v57.0.0/sdk/ui/jetpack-compose/host.md) component. The `Host` is a container for Jetpack Compose views.

```tsx
import { Host, Button } from '@expo/ui/jetpack-compose';

export function SaveButton() {
  return (
    <Host matchContents>
      <Button onClick={() => alert('Saved!')}>Save changes</Button>
    </Host>
  );
}
```

## Available components

| Component | Description |
| --- | --- |
| [`AlertDialog`](/versions/v57.0.0/sdk/ui/jetpack-compose/alertdialog.md) | AlertDialog component for displaying native alert dialogs. |
| [`Badge`](/versions/v57.0.0/sdk/ui/jetpack-compose/badge.md) | Badge component for displaying status indicators and counts. |
| [`BadgedBox`](/versions/v57.0.0/sdk/ui/jetpack-compose/badgedbox.md) | BadgedBox component for overlaying badges on content. |
| [`BasicAlertDialog`](/versions/v57.0.0/sdk/ui/jetpack-compose/basicalertdialog.md) | BasicAlertDialog component for displaying dialogs with custom content. |
| [`Box`](/versions/v57.0.0/sdk/ui/jetpack-compose/box.md) | Box component for stacking child elements. |
| [`Button`](/versions/v57.0.0/sdk/ui/jetpack-compose/button.md) | Button components for displaying native Material3 buttons. |
| [`Card`](/versions/v57.0.0/sdk/ui/jetpack-compose/card.md) | Card component for displaying content in a styled container. |
| [`Carousel`](/versions/v57.0.0/sdk/ui/jetpack-compose/carousel.md) | Carousel components for displaying scrollable collections of items. |
| [`Checkbox`](/versions/v57.0.0/sdk/ui/jetpack-compose/checkbox.md) | Checkbox component for selection controls. |
| [`Chip`](/versions/v57.0.0/sdk/ui/jetpack-compose/chip.md) | Chip components for displaying compact elements. |
| [`Column`](/versions/v57.0.0/sdk/ui/jetpack-compose/column.md) | Column component for placing children vertically. |
| [`DateTimePicker`](/versions/v57.0.0/sdk/ui/jetpack-compose/datetimepicker.md) | DateTimePicker component for selecting dates and times. |
| [`Divider`](/versions/v57.0.0/sdk/ui/jetpack-compose/divider.md) | Divider components for creating visual separators. |
| [`DockedSearchBar`](/versions/v57.0.0/sdk/ui/jetpack-compose/dockedsearchbar.md) | DockedSearchBar component for displaying an inline search input. |
| [`DropdownMenu`](/versions/v57.0.0/sdk/ui/jetpack-compose/dropdownmenu.md) | DropdownMenu component for displaying dropdown menus. |
| [`ExposedDropdownMenuBox`](/versions/v57.0.0/sdk/ui/jetpack-compose/exposeddropdownmenubox.md) | ExposedDropdownMenuBox component for displaying a dropdown menu with a customizable anchor. |
| [`FloatingActionButton`](/versions/v57.0.0/sdk/ui/jetpack-compose/floatingactionbutton.md) | FloatingActionButton components following Material Design 3. |
| [`FlowRow`](/versions/v57.0.0/sdk/ui/jetpack-compose/flowrow.md) | FlowRow component for wrapping children horizontally. |
| [`HorizontalFloatingToolbar`](/versions/v57.0.0/sdk/ui/jetpack-compose/horizontalfloatingtoolbar.md) | HorizontalFloatingToolbar component for displaying a floating action bar. |
| [`HorizontalPager`](/versions/v57.0.0/sdk/ui/jetpack-compose/horizontalpager.md) | HorizontalPager component for swipeable pages. |
| [`Host`](/versions/v57.0.0/sdk/ui/jetpack-compose/host.md) | Host component for bridging React Native and Jetpack Compose. |
| [`Icon`](/versions/v57.0.0/sdk/ui/jetpack-compose/icon.md) | Icon component for displaying icons. |
| [`IconButton`](/versions/v57.0.0/sdk/ui/jetpack-compose/iconbutton.md) | IconButton components for displaying native Material3 icon buttons. |
| [`LazyColumn`](/versions/v57.0.0/sdk/ui/jetpack-compose/lazycolumn.md) | LazyColumn component for displaying scrollable lists. |
| [`LazyRow`](/versions/v57.0.0/sdk/ui/jetpack-compose/lazyrow.md) | LazyRow component for displaying horizontally scrolling lists. |
| [`ListItem`](/versions/v57.0.0/sdk/ui/jetpack-compose/listitem.md) | ListItem component for displaying structured list entries. |
| [`LoadingIndicator`](/versions/v57.0.0/sdk/ui/jetpack-compose/loadingindicator.md) | Loading indicator components for displaying loading state. |
| [`ModalBottomSheet`](/versions/v57.0.0/sdk/ui/jetpack-compose/bottomsheet.md) | ModalBottomSheet component that presents content from the bottom of the screen. |
| [`NavigationBar`](/versions/v57.0.0/sdk/ui/jetpack-compose/navigationbar.md) | NavigationBar component for Material 3 bottom navigation. |
| [`Progress indicators`](/versions/v57.0.0/sdk/ui/jetpack-compose/progress.md) | Progress indicator components for displaying operation status. |
| [`PullToRefreshBox`](/versions/v57.0.0/sdk/ui/jetpack-compose/pulltorefreshbox.md) | PullToRefreshBox component for pull-to-refresh interactions. |
| [`RadioButton`](/versions/v57.0.0/sdk/ui/jetpack-compose/radiobutton.md) | RadioButton component for single-selection controls. |
| [`RNHostView`](/versions/v57.0.0/sdk/ui/jetpack-compose/rnhostview.md) | A component that enables React Native views inside Jetpack Compose. |
| [`Row`](/versions/v57.0.0/sdk/ui/jetpack-compose/row.md) | Row component for placing children horizontally. |
| [`SearchBar`](/versions/v57.0.0/sdk/ui/jetpack-compose/searchbar.md) | SearchBar component for search input functionality. |
| [`SegmentedButton`](/versions/v57.0.0/sdk/ui/jetpack-compose/segmentedbutton.md) | Segmented Button components for single or multi-choice selection. |
| [`Shape`](/versions/v57.0.0/sdk/ui/jetpack-compose/shape.md) | Shape component for drawing geometric shapes. |
| [`Slider`](/versions/v57.0.0/sdk/ui/jetpack-compose/slider.md) | Slider component for selecting values from a range. |
| [`Snackbar`](/versions/v57.0.0/sdk/ui/jetpack-compose/snackbar.md) | A brief notification that appears at the bottom of the screen to provide feedback without interrupting the user. |
| [`Spacer`](/versions/v57.0.0/sdk/ui/jetpack-compose/spacer.md) | Spacer component for adding flexible space between elements. |
| [`Surface`](/versions/v57.0.0/sdk/ui/jetpack-compose/surface.md) | Surface component for styled content containers. |
| [`Switch`](/versions/v57.0.0/sdk/ui/jetpack-compose/switch.md) | Switch component for toggle controls. |
| [`Text`](/versions/v57.0.0/sdk/ui/jetpack-compose/text.md) | Text component for displaying styled text. |
| [`TextField`](/versions/v57.0.0/sdk/ui/jetpack-compose/textfield.md) | TextField components for native Material3 text input. |
| [`ToggleButton`](/versions/v57.0.0/sdk/ui/jetpack-compose/togglebutton.md) | ToggleButton components for displaying native Material3 toggle buttons. |
| [`Tooltip`](/versions/v57.0.0/sdk/ui/jetpack-compose/tooltip.md) | Tooltip components for displaying contextual information on long-press. |
