본문 바로가기
반응형

Kotlin9

[Android] Compose Auto Scroll pager 자동으로 Scroll 되고 사용자가 Scroll 할 수 있는 Pager 가 필요한 경우가 있다. 얼마전까지 Accompanist 에 있었지만 deprecated 되어서 구현했다. 중요한 것은 pagerState의 현재 page 값을 받아오는 state다. pagerState.settledPage The page that is currently "settled". This is an animation/gesture unaware page in the sense that it will not be updated while the pages are being scrolled, but rather when the animation/scroll settles. Please refer to the sample to.. 2023. 7. 24.
[Android] Compose 다중 이벤트 방지 Compose 를 사용하다보면 버튼을 클릭했을때 중복 이벤트가 발생하는 것을 막아야 할 때가 있다. 처음 이벤트만 통과시키고 특정 시간동안 이벤트를 무시한다. 처음 이벤트가 발생 후 다른 이벤트가 연속적으로 발생하면 연속적으로 이벤트가 들어오지 않을때까지 이벤트를 무시한다. package com.danchoo.utils.common fun (() -> Unit).throttleFirst(time: Long = 200L) { MultipleEventPrevention.processEvent(time) { this() } } fun ((T) -> Unit).throttleFirst(value: T, time: Long = 200L) { MultipleEventPrevention.processEvent(tim.. 2023. 7. 24.
[Android] Compose Dialog Full Screen (Full Width Screen) Compose 에서 Dialog 를 사용하면 아래와 같이 양 옆에 기본 마진이 생긴다. 하지만 디자인에 따라 양옆의 마진이없어야 하는 경우가 발생한다. 양옆의 마진을 없애기 위해선 아래와 같이 properties = DialogProperties(usePlatformDefaultWidth = false) 해주면 된다. Dialog( onDismissRequest = onDismissRequest, properties = DialogProperties(usePlatformDefaultWidth = false) ) { .......... 내용 ........ } 아래와 같이 양 옆의 마진이 없어진 채로 나오게 된다. 예제 코드 @Composable fun ListDialog( items: List, text.. 2023. 5. 10.
[Android] Compose MVI, MVVM+ (MvRx) Compose 와 잘 어울리는 MVI Architecture 하지만 저는 너무 어렵게 느껴졌습니다. 처음에 MVI Architecture 를 사용했을 때 Redux Style 의 MVI 를 사용했습니다. RxJava 를사용 하여 구현했는데.... 결국 다른 사람들이 따라오지를 못하여 MVVM 으로 변경하는 사태가 벌어졌습니다. 저만 MVVM 으로 하자고 하고 나머지 분들은 다 MVI로 하자고 했는데 말이죠....? (아직까지 생각해봐도 조금 억울....) 어려워서 엎었던 기억이 있습니다. 하지만!! MvRx 로 알려진 MVVM+ Style 의 MVI Architecture 는 Redux Style 보다 쉽고 간단했습니다. 그때 이걸로 할껄.... 후회되는 1인 입니다. 개발을 할때 사전조사가 많이 필요한.. 2022. 8. 6.
반응형