Jetpack Compose에서 사용자의 경험을 풍부하게 하고 앱의 스타일에 부합하는 유연한 AppBar 동작을 구현하는 것은 매우 중요한 일입니다.애초부터 Jetpack compose는 이러한 커스텀 동작들을 구현하는 데 특화되어 있습니다. 본론으로 들어가자면 Jetpack Compose는 하위 컴포저블 요소에서 전파하는 스크롤 동작을 감지할 수 있는 Modifier.nestedScroll 이라는 기능을 제공합니다. Modifier.nestedScroll은 NestedScrollConnection 인터페이스를 매개변수로 받습니다.해당 인터페이스는 하위 컴포저블 요소에서 발생시키는 스크롤 동작을 자신의 동작으로 치환할 수 있는 기능을 제공합니다. 먼저 매우 간단한 예제를 살펴보도록 하겠습니다.// 하위..
Jetpack compose에서는 기본적으로 LazyColumn이라고 하는 컴포저블 요소를 사용하여 아이템들을 렌더링합니다. 해당 컴포저블 요소를 사용하여 작업을 하다보면 몇가지 문제점들이 생기게 됩니다. 바로 LazyListState을 참조할 수 있는 상태에서도 스크롤의 현재 오프셋을 직접적으로 참조할 수 없다는 것이 가장 큰 문제로 다가오죠. (물론 스크롤이 위 또는 아래로 진행 가능한지 불가능한지의 여부는 참조할 수 있다만 저는 이러한 기본적인 기능을 제공해주지 않는다는 것 자체는 좀 단점이 될 수는 있다고 생각이 됩니다.) 플러터에서는 최대로 스크롤될 수 있는 범위와 현재 위치를 내부적으로 모두 계산해주지만(근사치), Jetpack compose에서는 아직 이를 계산하여 반환해주는 Getter를 ..
- Total
- Today
- Yesterday
- 디자인 패턴
- 책임 연쇄
- NestedScrollConnection
- web
- 안드로이드 개발
- 객체 지향
- 타입스크립트
- utility types
- Flutter
- jetpack compose
- AutomaticKeepAliveClientMixin
- conditional types
- 팩토리 메서드
- canvas animation
- js animation
- touch slop
- 객체지향
- TypeScript
- 최대 오프셋
- Factory Method
- 현재 오프셋
- JavaScript
- in keyof
- android
- animatable-js
- extends keyof
- npm package
- 조건부 타입
- 안드로이드
- nested scrolling
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |