| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- EdgetoEdge
- BottomSheetScaffold
- Collpasing Header
- 안드로이드
- Flexiblie BottomSheet
- nestedScroll
- Intent
- playstore
- Compose
- ModalBottomSheet
- NestedScrollConnection
- bottomsheet
- Android
- Extras
- fling
- AnchoredDraggable
- StickyHeader
- enableEdgetoEdge
- 모바일
- thumbnail
- Kotilin
- Today
- Total
목록전체 글 (4)
choiminjun 블로그
여행 앱의 장소 상세 화면을 만들면서 다음과 같은 요구사항이 있었다. 요구사항- 스크롤 시 헤더가 순차적으로 접혀야함 1. navigationBar가 먼저 사라짐 2. thumbnail이 점점 부드럽게 사라짐- 썸네일이 모두 접히면 Header와 TabRow가 화면 상단에 고정되어야함 최종 결과를 미리보자면 다음과 같다. 시행착오 1: StickyHeader 2개 사용하기첫번째로 시도했던 방법은 2개의 Sticky Header를 사용하는 방식이다. 중간에 Thumbnail을 제외한 Header와 TabRow를 LazyColumn 안의 stickyHeader로 감싸도록했다.LazyColumn(modifier = Modifier.fillMaxSize()) { stickyHeader { Heade..
프로젝트를 진행하면서 다음과 같이 3가지 이상의 상태를 가지는 다양한 바텀시트를 구현해야 했다. 유의할점은 모든 바텀시트에 하단에 "일정 추가하기" 버튼이 존재해야 한다는 것이다. ex) Hiden, 55%, Full ex) 23%, 55%, 88% 시행착오 1. ModalBottomSheet- 바텀시트를 제외한 공간이 Scrim 처리 및 터치가 불가능해지기 때문에 지도와 상호작용을 해야하는 바텀시트의 요구사항과 적합하지 않았다.- Modal이라는 용어 자체가 화면의 다른 요소들과 상호작용해야 하는 컴포넌트로서 적합하지 않은 것 같다. 2. BottomSheetScaffold- BottomSheetScaffold를 사용하면 다음과 같은 3가지의 상태까지는 가능하다. Hiden, PartiallyExpan..
Android 15부터는 Edge-to-edge가 강제로 적용된다.Edge-to-edge는 안드로이드 앱의 UI 콘텐츠를 화면 가장자리까지 확장하여, 시스템바 영역 뒤까지 앱의 배경이나 콘텐츠가 그려지도록 하는 기법으로 사용자에게 더 몰입감있는 경험을 주기 위해 만들어진 기법이다.여기서 시스템 바란 상태 표시줄(Status bar)과 내비게이션 바(Navigation Bar) 영역을 말한다. 내부 구현내부적으로 구현을 살펴보면 WindowCompat.setDecorFitsSystemWindows(window, false)를 통해서 화면을 확장한다는 것을 알 수 있다. 해당 코드의 의미는 메인 윈도우(Decor View)가 시스템 윈도우(시스템 바)까지 영역을 확장할지 말지를 결정하는 것이고 false일..
