Get started with Jetpack Compose

Jetpack Compose is the modern toolkit for building Android UI, simplifying the development of apps that adapt to any display size.

  • Overview: See the resources available to Compose developers.
  • Tutorial: Get started with Compose by building a basic UI.
  • Quick Guides: Try out our fast and focused guides, designed to get you to your goal as quickly as possible.

Foundation

  • Thinking in Compose: How the declarative approach of Compose is different from the view-based approach you may have used in the past. Build a mental model of working with Compose.
  • Managing state: Setting and using state in your Compose app.
  • Lifecycle of composables: Lifecycle of a composable, and how Compose determines whether it needs to be redrawn.
  • Modifiers: Use modifiers to augment or decorate your composables.
  • Side-effects in Compose: Ways to manage side-effects.
  • Jetpack Compose Phases: The steps Compose goes through to render your app's UI, and how to use that information to write efficient code.
  • Architectural layering: The architectural layers that make up Jetpack Compose and the core principles that informed the design of Compose.
  • Performance: Avoid the common programming pitfalls that can degrade app performance.
  • Semantics in Compose: The semantics tree, which organizes your UI in a way that can be used by accessibility services and testing frameworks.
  • Locally scoped data with CompositionLocal: Use CompositionLocal to pass data through the composition.

Adaptive UI

  • Build adaptive apps: Learn the core principles of creating layouts optimized for any display size, including phones, tablets, foldables, and more.
  • Apply proven layouts: Use canonical layouts like list-detail and supporting pane for optimized apps on large screens.
  • Adaptive navigation: Implement navigation patterns that automatically adjust to the available display space.

Development environment

Design

  • Layouts: Compose layout components and how to design your own.
  • Design Systems: Implement a design system and give your app a consistent look and feel.
  • Lists and grids: Compose options for managing and displaying lists and grids of data.
  • Text: Main options in Compose for displaying and editing text.
  • Graphics: Compose features for building and working with custom graphics.
  • Animation: Compose options for animating your UI elements.
  • Gestures: Build a Compose UI that detects and interacts with user gestures.
  • Handling user interactions: How Compose abstracts low-level input into higher-level interactions so you can customize how your components respond to user actions.

Adopting Compose

Additional resources