Tutorial: Jetpack Compose basics
Learn the basics of Compose and how to build a simple UI component with declarative functions. Understand composable functions, basic layouts, and how Material design, lists and animations work in Compose.
What's new in Jetpack Compose
Get an overview of Jetpack Compose, learn what a declarative UI toolkit is, and how to use Compose to build beautiful UIs.
Thinking in Compose
Learn how the declarative approach of Compose is different from the view-based approach you may have used in the past.
Jetpack Compose basics
Go hands-on and learn the fundamentals of declarative UI, working with state, layouts, and theming. You'll see what composables and modifiers are, how to work with basic UI elements such as Row and Column, and how to give state to your app.
Compose by example
Learn how Compose makes Android UI easier by walking through concrete examples of open source sample apps built by the Compose team.
Layouts in Jetpack Compose
Learn how layouts work in Jetpack Compose, including: built-in layouts, modifiers, and how to build your own custom layout.
Using state in Jetpack Compose
Understand patterns for working with state in a declarative world by building a to-do app. Learn about Unidirectional Data Flow, stateless and stateful composables, slot APIs, how to use ViewModels in Compose, and more.
Jetpack Compose theming
Go hands-on with Material Design in Compose to understand how to theme an app’s colors, typography, and shapes, and support light and dark themes.
Jetpack Compose Animation
Learn how to use Compose Animation APIs. We start with the simplest value animation and learn other APIs through some common animation patterns. We also take a look at more advanced topics, such as animation customizations and animations with touch gestures.
Testing in Jetpack Compose
Learn about testing Jetpack Compose UIs. Write your first tests, and learn about testing in isolation, debugging tests, the semantics tree, and test synchronization.
Accessibility in Jetpack Compose
Learn how you can improve your app's usability, particularly for users with disabilities. Increase touch target sizes, add content descriptions, create custom actions, and more.
Compose for existing Apps
Understand how Compose and view-based UIs can coexist and interact, making it easy to adopt Compose at your own pace.
Migrating to Jetpack Compose
Walk through a practical migration of a View-based app to Jetpack Compose to understand how to incrementally adopt Compose, and explore the implications for your architecture and testing.
Advanced state and side effects in Jetpack Compose
Learn advanced concepts related to state and side effects APIs in Jetpack Compose. Learn how to create a state holder for complex stateful composables, create coroutines and call suspend functions from Compose code, and trigger side effects for different use cases.