이번 활용 예제에서 만들어볼 화면은 재생 플레이어입니다. 왼쪽 화면에서 해당 영역을 위로 스와이프 시 오른쪽 화면으로 애니메이션 동작을 진행합니다. 우선 해당 화면에 들어갈 아이템들을 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
- Row
- Android
- Android Compose
- Kotlin
- 안드로이드
- compose
- column
- Compose MotionLayout
- Compose 네이버 지도
- Compose ConstraintLayout
- WorkManager
- Pokedex
- Worker
- Compose ModalBottomSheetLayout
- 포켓몬 도감
- Duplicate class found error
- Fast api
- Gradient
- Compose Naver Map
- Compose QRCode Scanner
- Compose BottomSheetDialog
- Compose BottomSheetScaffold
- Compose 네이버 지도 api
- Compose BottomSheet
- Duplicate class fond 에러
- WebView
- 안드로이드 구글 지도
- 웹뷰
- Retrofit
- LazyColumn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |