Frank-Jetpack-Compose
declarative programming paradigm
Functional Programming in Kotlin
basic
Text
displayText
String
resourceString
styling text
text color
text size
fontStyle
fontWeight
text alignments
font family
text overflow
text decoration
maximum number of lines
Multiple styles in text
Spanstyle
ParagraphStyle
Image
Image
display drawable image/ painterResource
display imageVector / vectorResource
display bitmap / imageResource
ContentScale
Fit
Crop
Inside
FillHeight
FillWidth
FillBound
aligment
contentDescription
Display Image from Url
modify.clip
modify.shadow
Image with Surface
CircleImage
RoundedCornerShape
Border
aspectRatio
Icon
Button
create a simple button
custom color
background color
content color
disable background color
disable content color
content
text, multiple text
icon
row scope
shape
Rectangle shape
RoundedCornerShape
Border
Elevation
default elevation
pressed elevation
disable elevation
Other buttons
OutlineButton
TextButton
IconButton
onClick
Modifier.clickable
Modifier.pointerInput
Radiobutton
create radio button
radio button with title
radio button with custom icon
Checkbox
create checkbox
checkbox with title
checkbox with custom icon
TextInput
TextField
create default Textfield
textStyle
label
placeHolder
singleLine
leadingIcon
trailingIcon
colors
backgroundColor
leadingIcon color
trailingicon color
indicator color
shape
keyboardOptions
ImeAction
Search
Done
keyboardType
Email
Password
PhoneNumber
Text
keyboardActions
OutlinedTextField
Surface
Layout
Box
alignment
Modifier.matchParent
BoxWithConstraint
Row
verticalAlignment
horizontalArrangement
weight
Column
verticalArrangement
horizontalAlignment
Scollable
horizontal
vertical
ConstraintLayout
add dependency to build.gradle
creatRefs , createRefFor
Modifier.constrainAs
linkTo
parent
ConstrainSet, layoutId
GuideLine
start
end
top
bottom
Barriers
top
bottom
start
end
Chains
ChainStyle.Spread
ChainStyle.SpreadInside
ChainStyle.Package
Scafold
Modifier
List and Grid
LazyRow
LazyColumn
LazyHorizontalGrid
LaztVerticalGrid
Loadmore
Paging
Sync tab and list
CompositionLocal
infix anotation
cases to use
create a CompositionLocal
compositionLocalOf
staticCompositionLocalOf
CompositionLocalProvider
LocalContext
Theming
Theme? Why
Create a Theme
Material Theme
Typography
style component
Color
Shape
Cutcornershape
RoundedCornershape
light and dark mode
Material Theme 3
Apply Theme in real project
New node
State
main concepts
state
composition and reComposition
remember
rememberSaveable
stateful versus stateless
state hoisting
restoring state
Parcelize
mapSaver
mange state
composables
state holders
ViewModel
Side-Effect
LaunchEffect
rememberCoroutineScope
rememberUpdatedState
DisposableEffect
SideEffect
produceState
derivedStateOf
snapshotFlow
Navigation
Add dependency
NavHost, NavController
Navigate to compose
without arguments
pass data
required
optional
back from a compose
normal
back to a route
back and return a result
Nested Navigation
Architecture with Jetpack compose
Performance
Unit test
Animation
graphic-draw
transformation
Scale
Translate
Rotate
Inset