Compete in the Jetpack Compose #AndroidDevChallenge for a chance to win one of over 1,000 prizes, including a Google Pixel 5. Learn more

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

  • Interoperability: Compose is designed to work with your existing Android views. Learn about integrating Compose content with view-based UIs in the same app.
  • 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