안녕하세요! 오늘은 Jetpack Compose에서 디자이너가 피그마로 디자인한 그림자를 제대로 구현하기 위해 만든 확장함수를 소개합니다! 피그마의 양식을 어떻게 하면 제대로 적용할 수 있을지 고민했어요.1. 선 요약Jetpack Compose에서 제공하는 기본 Modifier.shadow는 커스터마이징에 한계가 있어요디자이너가 피그마에서 디자인한 그림자 효과를 구현하기 위해서 커스텀 확장 함수를 구현했어요그림자 효과를 구현하기 위해 Canvas API와 drawBehind 를 사용했어요성능 최적화를 위해 remember와 composed를 사용해 객체 재생성을 방지할 수 있어요2. 기본 Modifier.shadow의 한계Jetpack Compose에서 제공하는 기본 Modifier.shadow는 간단한..
안녕하세요! Android 개발자 한민재입니다. 이번에는 Spoony 프로젝트를 진행하면서 겪었던 이미지 압축 관련 이슈를 다뤄보려고 해요. 게시글 작성 기능을 개발하면서 마주친 문제와 그 해결 과정을 공유하려고 합니다!해당 이슈가 담긴 PR입니다: https://github.com/SOPT-all/35-APPJAM-ANDROID-SPOONY/pull/200🤔 어떤 문제가 있었나요?게시글 작성 화면에서 이미지 업로드 기능을 구현하던 중이었는데요. 기존 BitmapFactory를 사용했을 때 다음과 같은 문제점들이 있었어요용량이 큰 단일 이미지 혹은 여러 이미지 압축 속도가 느렸어요 (평균 1,200ms 이상)용량이 큰 이미지를 여러 장 업로드하면 앱이 중단되는 현상이 발생했어요압축된 이미지 품질이 일관..
안녕하세요! Android 개발자 한민재입니다. 이번에는 과제전형을 진행하면서 Paging3와 Compose의 LazyVerticalGrid를 함께 사용하면서 발견한 정말 사소한 문제와 해결 과정을 공유하려고 해요.🤔 어떤 문제가 있었나요?과제에서는 Picsum API를 사용해서 자유롭게 뷰를 구현하는 것이 목표였어요. API에 페이징이 있는 것을 발견하고 Paging3를 적용한 이미지 그리드를 구현하던 중, 앱 초기 실행 시 의도치 않게 많은 페이지가 한 번에 요청되는 현상이 발생했어요.문제가 있던 코드예요@Composablefun PhotoGrid( photosPagingData: LazyPagingItems, gridState: LazyGridState, modifier: Modi..