- What is Jetpack Compose?
- Differences between Jetpack Compose and XML-based UI.
- Understanding
@Composable
functions. - How to define and use Composable functions.
- Previewing composables with
@Preview
.
- Basic layout structures:
Column
,Row
,Box
,ConstraintLayout
. - Advanced layouts:
LazyColumn
,LazyRow
,LazyVerticalGrid
,LazyHorizontalGrid
,FlowRow
,FlowColumn
.
- Basic: Padding, Alignment, Size, Background, FillMaxWidth/FillMaxHeight, Spacer
- Intermediate: Clickable, Border, Clip, Offset, Shadow
- Advanced: GraphicsLayer, Rotate, Scale, ZIndex, AspectRatio
- State management with
remember
andmutableStateOf
. - Unidirectional data flow.
rememberSaveable
and surviving configuration changes.
- How recomposition works.
- Controlling recomposition and avoiding unnecessary UI updates.
- Key best practices to ensure efficient recomposition.
- Text, Image, Icons, Scaffold, and more in Compose.
- Handling input fields: TextField, Button, Checkbox, Slider, etc.
- Animations: basic animations, transitions, and gestures.
- Using LaunchedEffect, SideEffect, DisposableEffect.
- Side-effect handling and lifecycle-aware composables.
- Composing with ViewModel.
- Using viewModel() in Jetpack Compose.
- State and events between ViewModel and Composables.
- Using LazyColumn, LazyRow for large data sets.
- Customizing list items, separators, and handling user interactions.
- Understanding and optimizing scrolling performance.
In progress...
This project is licensed under the MIT License - see the LICENSE file for details.