Unit 1 - pathway 3 의 연습문제를 풀어보았습니다.
column, row, box 의 개념을 이해할 수 있었습니다.
compose quadrant 가 가장 어려운 문제였는데, 여전히 MainActivity 하에 ...Theme 으로 생성되는 부분이나, modifier 순서에 따라 결과가 달라지는 부분은 잘 이해하지 못하였습니다.
Compose Quadrant coding 주요 부분
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
MyQuadrantTheme {
Surface(
modifier = Modifier.fillMaxSize()
.padding(top = 30.dp, bottom = 50.dp),
color = MaterialTheme.colorScheme.background
) {
Greeting(
)
}
}
}
}
}
@Composable
fun Greeting(modifier: Modifier = Modifier) {
Column(modifier = modifier.fillMaxWidth(), verticalArrangement = Arrangement.Center) {
Row(modifier = modifier.weight(1f)) {
MyTextBox(
text1 = stringResource(R.string.firstTitle),
text2 = stringResource(R.string.firstDescription),
backgroundColor = Color(0xFFEADDFF),
modifier = modifier.weight(1f)
)
MyTextBox(
text1 = stringResource(R.string.secondTitle),
text2 = stringResource(R.string.secondDescription),
backgroundColor = Color(0xFFD0BCFF),
modifier = modifier.weight(1f)
)
}
Row(modifier = modifier.weight(1f)) {
MyTextBox(
text1 = stringResource(R.string.thirdTitle),
text2 = stringResource(R.string.thirdDescription),
backgroundColor = Color(0xFFB69DF8),
modifier = modifier.weight(1f)
)
MyTextBox(
text1 = stringResource(R.string.fourthTitle),
text2 = stringResource(R.string.fourthDescription),
backgroundColor = Color(0xFFF6EDFF),
modifier = modifier.weight(1f)
)
}
}
}
@Composable
fun MyTextBox(text1: String, text2: String, backgroundColor: Color, modifier: Modifier = Modifier) {
Column(modifier = modifier
.fillMaxSize()
.background(color = backgroundColor)
.padding(16.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = text1,
modifier = Modifier.padding(bottom = 30.dp),
fontWeight = FontWeight.Bold,
)
Text(
text = text2,
textAlign = TextAlign.Justify
)
}
}
'왕초보 안드로이드 앱 개발 도전기' 카테고리의 다른 글
5. Kotlin 클래스(class) (0) | 2024.06.20 |
---|---|
4. Kotlin 조건문 (0) | 2024.06.19 |
2. 안드로이드 스튜디오 설치 및 스마트폰 연결 (0) | 2024.06.10 |
1. Kotlin 소개 (0) | 2024.06.09 |
40대 아저씨의 안드로이드 앱 개발 도전기 (0) | 2024.06.07 |