본 포스팅은 아래 Compose essentials course를 학습하고 정리한 포스팅 입니다.
Jetpack Compose for Android Developers - Compose essentials
@Composable
fun JetsurveyTheme(
useDarkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit
) {
val colors = if (!useDarkTheme) {
LightColors
} else {
DarkColors
}
val systemUiController = rememberSystemUiController()
DisposableEffect(systemUiController, useDarkTheme) { .. }
MaterialTheme(
colorScheme = colors,
shapes = Shapes,
typography = Typography,
content = content
)
}
Typography
속성에 따라서 글씨의 두께, 크기, 줄 높이 등 다양한 글꼴과 스타일을 설정할 수 있습니다.Shapes
속성으로 둥근 모서리(radius)를 정의할 수 있습니다.Scaffold
라고 합니다.Scaffold
는 상단 앱바와 플로팅 작업 버튼이 있는 화면과 같은 일반적인 패턴으로 Material 구성요소를 배열하기 위한 기본 레이아웃 입니다.Surface
는 Material Design의 또 다른 기본 구성요소입니다.Surface
에는 색상, 모양, 테두리, 그림자, 색조, 높이 등을 속성으로 가지고 있습니다.Row {
Component1()
Component1()
Component1()
}
Column {
Component1()
Component1()
Component1()
}
Box {
Component1()
Component1()
Component1()
}
Modifier
를 매개 변수로 허용합니다.Modifier
를 사용하면 배경색 설정, 크기 변경, 패딩 추가 클릭 등 모든 종류의 작업을 수행할 수 있습니다.