Get started with Jetpack Compose

Jetpack Compose is the modern toolkit for building native Android UI. Here's where you'll find the latest information about using Compose.

  • Overview: See all the resources available to Compose developers.
  • Tutorial: Get started with Compose, by using it to build a simple UI.

Foundation

  • Thinking in Compose: Learn how Compose's declarative approach is different from the view-based approach you may have used in the past, and how to build a mental model of working with Compose.
  • Managing state: Learn about setting and using state in your Compose app.
  • Lifecycle and side-effects: Learn about the lifecycle of a Compose object, and the best ways to manage side-effects.

Development environment

Design

  • Layout: Learn about Compose's native layout components, and how to design your own.
  • Theming: Learn how to theme your Compose-based UI.
  • Lists: Learn about some of Compose's options for managing and displaying lists of data.
  • Text: Learn about Compose's main options for displaying and editing text.
  • Graphics: Learn about Compose's features for building and working with custom graphics.
  • Animation: Learn about Compose's different options for animating your UI elements.
  • Gestures: Learn how to build a Compose UI that detects and interacts with user gestures.

Adopting Compose

  • Adopting Compose in existing apps: Learn how to integrate Compose with the architecture and UI of your existing apps.
  • Compose and other libraries: Learn how to use view-based libraries in your Compose content.
  • Compose architecture: Learn how to implement the unidirectional flow pattern in Compose, how to implement events and state holders, and how to work with ViewModel in Compose.
  • Navigation: Learn how to use NavController to integrate the Navigation component with your Compose UI.
  • Resources: Learn how to work with your app's resources in your Compose code.
  • Accessibility: Learn how to make your Compose UI suitable for users with different accessibility requirements.
  • Testing: Learn about testing your Compose code.

Additional resources