StateFlow and SharedFlow in ViewModels
Collecting State and Shared Flows from ViewModels while respecting lifecycle of the collector views
Compose by example: BoxWithConstraints
A practical example of using BoxWithConstraints in Jetpack Compose to build responsive layouts
Show BottomBar conditionally in Compose
Conditionally show BottomBar with bottom navigation in Jetpack Compose
Animation in Jetpack Compose
Foundational overview of Compose Animation APIs to help you choose most suitable API for your animation task.
Compose sample app: UI state with Flow, offline first
Sample repo implementing state using Flow, Offline First repository, unit tests using Turbine.
Animating visibility vs alpha in Compose
Covers example when animateFloatAsState is what you need instead of AnimatedVisibility
Practical Compose Slot API example
Learn how to manage screen sections using Slot API pattern in Compose
Lazy Grid layouts in Compose
Covers 3 ways to build lazy grid layouts using fixed, adaptive and custom configuration
Lazy layouts contentPadding
Controlling padding for first and last item in a lazy layout in Compose
Composable functions and return types
Exploring composable function characteristics and return types
Compose phases and optimizations
Learn about Compose Phases and optimizing UI by controlling what Phases get executed when data in composable changes
Using MotionLayout in Compose
A demo of using MotionLayout with Jetpack Compose with motion scene set up as a JSON5
Making reusable composables using Generics
Using Java Generics to create reusable shared components in Compose
Getting started with Canvas in Compose
Explore DrawScope and create your first custom component using Canvas in Jetpack Compose
Compose Row, Column and Scoped Modifiers
Explore the power of Row and Column composables and their respective RowScope and ColumnScope modifiers to layout child composables
Passing data using CompositionLocal
CompositionLocal allows you to pass data between composables implicitly without passing parameters. A common use case is sharing design system attributes such as colors and type styles
Compose remember vs remember mutableStateOf
Manage state with remember mutableStateOf to cause recomposition of dependent composables when state changes
StateFlow vs SharedFlow in Compose
Discuss uses and limitations for observable data holders StateFlow and SharedFlow when building Android apps
Bottom Nav with Nav Graphs in Compose
Example of setting up BottomNavigation with multiple backstacks using Jetpack Compose Navigation library