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

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025年11月05日 UTC.