지난 포스팅에 이어서 개발을 진행하겠습니다. 아이콘 적용 기존에 텍스트 B가 적용되어 있는 스와이핑 버튼을 아이콘으로 변경하도록 하겠습니다. Icon(Icons.Outlined.KeyboardArrowRight, "", tint = Color.White, modifier = Modifier.align( Alignment.Center )) 기존의 Text를 Icon으로 바꾸어주었습니다. 드래그가 완료가 되면 배경색을 바꾸기 드래그가 완료가 되면, 기존의 배경색을 바꾸도록 하겠습니다. 기존의 노랑으로 적용되어 있던 배경색을 Gary -> LightGray로 변경되게끔 바꾸어보도록 하겠습니다. 드래그가 중간 이상에 도착을 했을 때 색상을 LightGray로 바뀌도록 하기 위해, animateColorAsSta..
Slide-Unlock 기능이 무엇인가? 요즘 잠금 해제 기능은 다들 지문 인식 또는 페이스 아이디를 통해 잠금 해제를 하는데, 몇 년 전에는 밀어서 잠금 해제를 많이 쓰곤 했다. 대충 이런 느낌인데, 최근에 AnchoredDraggable에 대해 학습한 김에, 다음 기능을 구현해보고자 한다. 오늘의 완성본 구현 enum class 가장 먼저 상태를 표현할 enum class를 생각해보자. 잠금 해제의 상태는 처음 - 끝 으로 표현이 가능하다. enum class Position{ Start,End } state 구현 다음은 가장 중요하다고 생각하는 컴포저블의 드래그 상태를 저장하는 state의 구현이다. val state = remember { AnchoredDraggableState( initialV..
반짝임 애니메이션 앱을 사용하다보면, 화면이 로딩되는 과정에서 이미지나, 텍스트가 보여지는 공간에 반짝임 애니메이션이 보이며 로딩중이라는 느낌을 주는 경우가 많다. 과연 이런건 어떻게 구현할까? 반짝임 애니메이션 만들기 확장 함수 만들기 Modifier클래스의 확장 함수를 만들어 반짝임 이미지를 생성하도록 하겠습니다. Modifier의 확장 함수를 만들기 위해, 다음과 같이 작성해줍니다. fun Modifier.shimmerEffect(): Modifier = composed { } 함수 내부의 값은 가장 먼저 상태 값을 저장할 변수를 정의해줍니다. var size by remember { mutableStateOf(IntSize.Zero) } val transition = rememberInfinit..