본문 바로가기

Study/Compose

(5)
compose / Column Scrollable 하게 만들기 (Column + verticalScroll) 항목 목록을 표시하기 위해선 Column에 verticalScroll 보다 LazyColumn 이나 LazyRow가 더 효율적이다. verticalScroll은 스크롤할 수 있는 간단한 방법을 제공한다. scrollState를 사용하면 스크롤 위치를 변경하거나 현재 상태를 가져올 수 있다. @Composable private fun ScrollBoxesSmooth() { // Smoothly scroll 100px on first composition val state = rememberScrollState() LaunchedEffect(Unit) { state.animateScrollTo(100) } Column( modifier = Modifier .background(Color.LightGray) ..
Compose / HorizontalPager swipe/drag/scroll 막기 HorizontalPager 를 사용하는데, swipe 기능을 막고 싶었다. modifier.scrollable(enabled=false) 가 작동하지 않아.. 일시적으로 막는 방법을 따로 구현하였다. (찾았다) @ExperimentalPagerApi fun PagerState.disableScrolling(scope: CoroutineScope) { scope.launch { scroll(scrollPriority = MutatePriority.PreventUserInput) { // Await indefinitely, blocking scrolls awaitCancellation() } } } @ExperimentalPagerApi fun PagerState.enableScrolling(scope: ..
Compose / TopAppBar Title 가운데 정렬 - CenterAlignedTopAppBar Material3의 CneterAlignedTopAppBar - TopAppBar Title을 가운데 정렬할 수 있다 @ExperimentalMaterial3Api @Composable fun CenterAlignedTopAppBar( title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit = {}, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = TopAppBarDefaults.centerA..
Compose / 선언형 UI(Declarative UI)란 무엇인가 (명령형 UI와의 차이) 기존 UI 방식 사용자 상호작용 등의 이유로 인해 앱의 상태가 변경되면, 현재 데이터를 표시하기 위해 UI 계층 구조를 업데이트해야 한다. UI를 업데이트하는 가장 일반적인 방법은 findViewById()와 같은 함수를 사용하여 트리를 탐색하고 button.setText(String), container.addChild(View) 또는 img.setImageBitmap(Bitmap)과 같은 메서드를 호출하여 노드를 변경하는 것이다. 이 기법은 처음부터 화면 전체를 개념적으로 재생성한 후 필요한 변경사항만 적용하는 방식으로 작동한다. 데이터를 여러 위치에서 렌더링한다면 데이터를 표시하는 뷰 중 하나를 업데이트하는 것을 잊기 쉽다. 또한 두 업데이트가 예기치 않은 방식으로 충돌할 경우 잘못된 상태를 야기하..
스터디 / 함수형 UI 스터디 - Compose https://github.com/LeeEunjeong1/Declarative-UI-Study GitHub - LeeEunjeong1/Declarative-UI-Study Contribute to LeeEunjeong1/Declarative-UI-Study development by creating an account on GitHub. github.com 무신사앱 클론코딩을 하며 컴포즈에 익숙해지자. ios - swift UI android - compose

반응형