๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ถํฐ ์์ํ๋ jetpack compose
1. layout
1. Column
ํ์์ ๋ทฐ๋ค์ ์์ง ์ ๋ ฌํด์ค๋ค(vertical).
// ํ
์คํธ ๋ทฐ
@Composable
fun Greeting(name: String) {
Text(text = name)
}
// ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋ ๊ณณ(๋ฏธ๋ฆฌ๋ณด๊ธฐ)
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
ComposeUITheme { // ์๋์ผ๋ก ์์ฑ๋๋ ํ
๋ง
Column() {
Greeting("Hello")
Greeting("Android")
}
}
}
2. Row
ํ์์ ๋ทฐ๋ค์ ์ํ ์ ๋ ฌํด์ค๋ค(horizontal).
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
ComposeUITheme { // ์๋์ผ๋ก ์์ฑ๋๋ ํ
๋ง
Row() {
Text(text = "Hello Android!")
Text(text = "Content!")
}
}
}
3. box
์ฌ๋ฌ ๋ทฐ๋ค์ ๊ฒน์ณ์ ๋์ ์ ์๋ ๋ ์ด์์์ด๋ค.(framelayout๊ณผ ๋น์ทํ๋ค.)
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
ComposeUITheme { // ์๋์ผ๋ก ์์ฑ๋๋ ํ
๋ง
Box(
modifier = Modifier
.fillMaxWidth()
.height(100.dp),
) {
Text(text = "Hello Android!")
Text(text = "Content!")
}
}
}
modifier๋ฅผ ์ฌ์ฉํด box์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์๋ค.
- fillMaxWidth(): width๋ฅผ match_parent๋ก ์ค์ ํ๋ค.
- fillMaxHeight(): height๋ฅผ match_parent๋ก ์ค์ ํ๋ค.
์์ ๋ ๊ฐ ๋ง๊ณ ๋ (์ํ๋ ํฌ๊ธฐ.dp)๋ฅผ ์ฌ์ฉํด ํฌ๊ธฐ๋ฅผ ์์ ์์ฌ๋ก ์กฐ์ ์ด ๊ฐ๋ฅํ๋ค.
์๋ฌด ์คํ์ผ๋ ์ ์ฉํ์ง ์์ box
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
ComposeUITheme {
Box(
modifier = Modifier
.fillMaxWidth()
.height(100.dp),
contentAlignment = Alignment.TopCenter
) {
Row() {
Text(text = "Hello Android!")
Text(text = "Content!")
}
}
}
}
- contentAlignment: ๋ทฐ๋ค์ ์์น๋ฅผ ์ ํด์ค ์ ์๋ค.
contentAlignment์ row๋ฅผ ์ ์ฉํ box
contentAlignment๋ฅผ box์ ์ฐ๋ฉด ํ์ ๋ทฐ์ ์์น๋ฅผ ๋ชจ๋ ์ ํด์ค ์ ์์ง๋ง, ๊ฐ๋ณ๋ก ์์น๋ฅผ ์ ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋
text์ modifier๋ฅผ ์ฌ์ฉํด ํด๊ฒฐ ๊ฐ๋ฅํ๋ค.
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
ComposeUITheme {
Box(
modifier = Modifier
.fillMaxWidth()
.height(100.dp),
) {
Text(text = "Hello Android!", modifier = Modifier.align(Alignment.TopStart))
Text(text = "Content!", modifier = Modifier.align(Alignment.BottomEnd))
}
}
}
ํ ์คํธ 2๊ฐ๋ฅผ ๊ฐ๊ฐ ์ผ์ชฝ ์, ์ค๋ฅธ์ชฝ ์๋์ ๋ฐฐ์นํ ๋ชจ์ต์ด๋ค.
- Start: ์ค๋ฅธ์ชฝ
- Top: ์์ชฝ
- Center: ๊ฐ์ด๋ฐ
- End: ์ผ์ชฝ
- Bottom: ์๋์ชฝ
'๐ฑ| Android > ๐ | Jetpack' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Android, Kotlin] Compose UI ์ ๋ฆฌ(4) (0) | 2022.12.05 |
---|---|
[Android, Kotlin] Compose UI ์ ๋ฆฌ(3) (0) | 2022.12.04 |
[Android, Kotlin] Compose UI ์ ๋ฆฌ(2) (0) | 2022.12.03 |
[Android Kotlin] navigation component์ bottom navigation ์ฐ๊ฒฐ ํ์๋, bottom navigation์ด ์๋๋์ง ์์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2022.04.22 |
[Android] Room ์ฌ์ฉ๋ฒ๊ณผ RecyclerView๋ฅผ ํ์ฉํ ์์ (0) | 2022.04.12 |