https://www.youtube.com/playlist?list=PLzZEuVaFb9Exi-pc8qtHBrrLg8bUn-TP6
Jetpack Compose - MVVM - Clean Architecture News App
"Building a Modern News App with Jetpack Compose, MVVM, and Clean Architecture." In this hands-on learning experience, you'll master the art of creating a fe...
www.youtube.com
OnBoardingPage 내의 하단에 있는 PageIndicator와 Button 나열하기
Row Compose를 불러오고, 이 Row Compose 내에 PageIndicator 와 Button 를 불러온다.
modifier 속성중 navigationBarsPadding() : 해당 Padding을 선언해주면, navigationBars의 height 만큼 Padding을 잡아준다.
NewsTextButton 을 새롭게 선언.
@Composable
fun NewsTextButton(
text: String,
onClick: () -> Unit
) {
TextButton(onClick = onClick) {
Text(
text = text,
style = MaterialTheme.typography.labelMedium.copy(fontWeight = FontWeight.SemiBold),
color = Color.White
)
}
}
다음과 같은 버튼들을 만들기 위해서 다음과 같이 선언하고, Coroutine 을 사용하는데, 왜 사용하는지 알아야하지 않을까 싶다. => [TODO] Coroutine을 왜 쓰는지, 개념 정리해서 페이지 링크 걸어두기
val scope = rememberCoroutineScope()
if (buttonState.value[0].isNotEmpty()) {
NewsTextButton(
text = buttonState.value[0],
onClick = {
scope.launch {
pagerState.animateScrollToPage(page = pagerState.currentPage - 1)
}
}
)
}
NewsButton(text = buttonState.value[1], onClick = {
scope.launch {
if (pagerState.currentPage == 3) {
// TODO Navigate to Home Screen
} else {
pagerState.animateScrollToPage(
page = pagerState.currentPage + 1
)
}
}
}
)
이걸 추가하는 이유
WindowCompat.setDecorFitsSystemWindows(window, false)
: DecorView 가 WindowInsets의 루트 콘텐츠 뷰에 맞아야하는지 여부 설정
WindowCompat | Android Developers
androidx.appsearch.builtintypes.properties
developer.android.com
'[ Jetpack Compose ]' 카테고리의 다른 글
News Application Clone #1 (0) | 2023.11.08 |
---|---|
Jetpack Compose Basic #4 (0) | 2023.11.07 |
Jetpack Compose Basic #3 (0) | 2023.11.02 |
Jetpack Compose Basic #2 (0) | 2023.10.30 |
Jetpack Compose Basic #1 (0) | 2023.10.30 |