๋ชฉ์ฐจ
3. ๋ ์ด์์ ์ธํ๋ผ ๋ง๋ค๊ธฐ ?????
์์ ์ ์ถ๊ฐ
@Preview(showBackground = true)
@Composable
fun DiceWithButtonAndImage(modifier: Modifier = Modifier) {
}
์ด ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด modifier ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ ์ ์๋ค. modifier ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ ๊ฐ์ Modifier ๊ฐ์ฒด์ด๋ฏ๋ก
๋ฉ์๋ ์๋ช ์ =Modifier ๋ถ๋ถ์ด๋ค. ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ๋ฉด ์ดํ์ ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ ๋ฌํ ์ง ๊ฒฐ์ ํ ์ ์๋ค.
์์ฒด Modifier ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ฉด UI ๋์๊ณผ ์ฅ์์ ๋ง์ถค ์ค์ ํ ์ ์๋ค.
Modifier ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ธ ์ผ๋จ Modifier ๊ฐ์ฒด๋ฅผ ๊ฐ์ ํ๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ชจ๋ ๋งค๊ฐ๋ณ์์ ์ ์ฉํ ์ ์๋ค.
๊ธฐ๋ณธ๊ฐ์ด ์๋๋ฐ ๊ตณ์ด Modifier ์ธ์๋ฅผ ์ ๋ฌํด์ผํ๋์ง ์๋ฌธ์ด ๋ค ์ ์๋ค. ๊ทธ ์ด์ ๋ ์ปดํฌ์ ๋ธ์ด ์ฌ๊ตฌ์ฑ์ ๊ฑฐ์น ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ๊ตฌ์ฑ: ๊ธฐ๋ณธ์ ์ผ๋ก @Composavle ๋ฉ์๋์ ์ฝ๋ ๋ธ๋ญ์ด ๋ค์ ์คํ๋๋ค๋ ์๋ฏธ์ด๋ค. Modifier ๊ฐ์ฒด๊ฐ ์ฝ๋ ๋ธ๋ก์์ ๋ง๋ค์ด์ง๋ฉด ๋ค์ ๋ง๋ค์ด์ง ์ ์์ผ๋ฏ๋ก ์ด๋ ํจ์จ์ ์ด์ง ์๋ค.
๋ญ ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ์ผ
@Composable
fun DiceRollerApp(){
DiceWithButtonAndImage(modifier =Modifier
.fillMaxSize()
.wrapContentSize(Alignment.Center))
}
4 ๋ฒํผ ์ถ๊ฐ
DiceWithButtonAndImage(modifier: Modifier = Modifier){
Column (
modifier=modifier,
horizontalAlignment = Alignment.CenterHorizontally
){
Button(onClick = { /*TODO*/ }) {
Text(stringResource(R.string.roll))
}
}
}
6. ์ด๋ฏธ์ง ์ถ๊ฐ
@Preview(showBackground = true)
@Composable
fun DiceWithButtonAndImage(modifier: Modifier = Modifier){
Column (
modifier=modifier,
horizontalAlignment = Alignment.CenterHorizontally
)
{
Image(
painter = painterResource(R.drawable.dice_1),
contentDescription = "1"
)
Spacer(modifier = Modifier.height(16.dp))
Button(onClick = { /*TODO*/ }) {
Text(stringResource(R.string.roll))
}
}
}
7. ์ฃผ์ฌ์ ๊ตด๋ฆฌ๊ธฐ ๋ก์ง ๋น๋
Button์ ๋ํํ์ผ๋ก ๋ง๋ค๊ธฐ
9. ๊ฒฐ๋ก
์์ฝ
Compose๋ฅผ ์ฌ์ฉํ์ฌ Android์ฉ ๋ํํ Dice Roller ์ฑ์ ๋ง๋ค์๋ค.
-๊ตฌ์ฑ๊ฐ๋ฅํ ํจ์๋ฅผ ์ ์ํ๋ค.
- ์ปดํฌ์ง์ ์ผ๋ก ๋ ์ด์์์ ๋ง๋ ๋ค -> ?
- Button ์ปดํฌ์ ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฒํผ์ ๋ง๋ ๋ค.
- Image ์ปดํฌ์ ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ํ์ํ๋ค.
- ์ปดํฌ์ ๋ธ์ ์ฌ์ฉํ์ฌ ๋ํํ UI๋ฅผ ๋ง๋ ๋ค.
- remember ์ปดํฌ์ ๋ธ์ ์ฌ์ฉํ์ฌ ์ปดํฌ์ง์ ์ ๊ฐ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ค.
- mutableStageOf() ํจ์๋ก UI๋ฅผ ์๋ก๊ณ ์นจํ์ฌ observable์ ๋ง๋ ๋ค.
'2023 ์๋๋ก์ด๋ > ์๋๋ก์ด๋ ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DiceRoller ๋ณต์ต (0) | 2023.01.10 |
---|---|
Unit2-1 Kotlin์์ null ํ์ฉ ์ฌ๋ถ ์ฌ์ฉ (0) | 2023.01.10 |
taskmanager (0) | 2022.12.26 |
HappyBirthdayCard ์ฝ๋ (0) | 2022.12.24 |
unit1- Android์ฑ์ ์ด๋ฏธ์ง ์ถ๊ฐ (0) | 2022.12.24 |