이번 활용 예제에서 만들어볼 화면은 재생 플레이어입니다. 왼쪽 화면에서 해당 영역을 위로 스와이프 시 오른쪽 화면으로 애니메이션 동작을 진행합니다. 우선 해당 화면에 들어갈 아이템들을 MotionLayout 안에 설정해 둡니다. val context = LocalContext.current val scene = remember { context.resources .openRawResource(R.raw.player) .readBytes() .decodeToString() } var isDetail by remember { mutableStateOf(false) } val progress by animateFloatAsState( targetValue = if (isDetail) 1f else 0f, an..
MotionLayout은 이전 포스팅에서 다루었던 ConstraintLayout을 추가하였다면 별도로 설치하실 필요는 없습니다. 1) 기본 사용 방법 @OptIn(ExperimentalMotionApi::class) @Composable fun MotionLayoutTest() { var state by remember { mutableStateOf(false) } val progress by animateFloatAsState( targetValue = if (state) 1f else 0f, animationSpec = tween(500) ) MotionLayout( start = startConstraintSet(), end = endConstraintSet(), progress = progress..
- Total
- Today
- Yesterday
- Duplicate class found error
- 안드로이드 구글 지도
- Duplicate class fond 에러
- Compose ModalBottomSheetLayout
- Compose QRCode Scanner
- 포켓몬 도감
- compose
- Row
- 안드로이드
- Android Compose
- Compose 네이버 지도 api
- Compose 네이버 지도
- LazyColumn
- Compose ConstraintLayout
- Kotlin
- Gradient
- Pokedex
- WorkManager
- Android
- Compose MotionLayout
- Compose BottomSheetScaffold
- Fast api
- Compose Naver Map
- Retrofit
- WebView
- Compose BottomSheet
- Compose BottomSheetDialog
- 웹뷰
- Worker
- column
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |