본문 바로가기
728x90

Jetpack Compose5

[Jetpack Compose] Compose로 Calendar, Horizontal Calendar 예쁘게 직접 만들기 (주간 캘린더, 월간 캘린더) 이전에 xml로 개발할 때에는 캘린더 관련 라이브러리나 레퍼런스가 많았는데 컴포즈는 아직까지는 참고할 레퍼런스가 많지 않은 것 같습니다.안드로이드에서 제공하는 기본 캘린더는 너무 못생겼고, 다른 사람들이 만들어놓은 라이브러리를 사용하는 경우 100% 입맛대로 커스텀하기에는 제한적인 부분들이 있기 때문에 욕심이 생겨 외부 라이브러리를 사용하지 않고 직접 캘린더를 만들어봤습니다. Jetpack Compose를 사용하며 캘린더 개발로 고통받는 다른 안드로이드 개발자들에게 조금이나마 도움이 되었으면 좋겠습니다 :)포스팅에 모든 내용과 코드를 담을 수 없어 레포지토리 링크를 첨부합니다. GitHub - Ojongseok/Compose_Calendar_PracticeContribute to Ojongseok/Com.. 2024. 5. 12.
[Jetpack Compose] Material3. BottomNavigationBar 배경 제거하기 Jetpack Compose의 Material Design1에서 지원하는 BottomNavigation에 대한 레퍼런스는 꽤나 찾아볼 수 있었지만 Material Design3에서 제공하는 NavigationBar와 관련된 레퍼런스는 정말 찾아보기 힘들었다. 특히 NavigationBarItem의 배경(?), 백그라운드(?)를 제거하고 싶은데 제거하는 방법을 찾기 힘들었다.. 분명 제거하는 속성이 있을거라 생각했고, 관련 속성을 발견하게 되어 공유합니다. NavigationBarItem( ... colors = NavigationBarItemDefaults.colors(indicatorColor = Color.Transparent) ) colors의 매개변수인 indicatorColor의 컬러를 투명한 .. 2024. 3. 10.
[Jetpack Compose] Compose로 BottomSheet 구성하기 feat. Material 3 Jetpack Compose로 BottomSheet를 구성하는 방법을 찾아보면서 효과적이라고 생각되는 두 가지 방법을 공유합니다 :) MaterialDesign3 환경에서 작성되었습니다. 1. ModalBottomSheetLayout ModalBottomSheetLayout은 BottomSheet의 UI를 구성하는 sheetContent 컴포저블 함수와 BottomSheet를 포함하는(?), BottomSheet가 띄워질(?) 상위 스크린을 구성하는 content 컴포저블 함수로 구성할 수 있습니다. 그 외에 속성들을 생성자로 설정하지 않으면 기본값으로 지정된 BottomSheet 속성으로 적용되지만 여러 속성들을 통해 BottomSheet의 배경색, 모양, 최초 상태 등을 정의할 수 있습니다. Moda.. 2024. 1. 16.
[Jetpack Compose] 단방향 데이터 흐름 UDF(Unidirectional Data Flow) 살펴보기 Jetpack Compose에서 기본적으로 UI는 수정될 수 없습니다. UI는 상태(State)에 따라서 존재하고, 상태가 변경되는 경우에 변경된 UI 트리에 맞춰 다시 UI를 그리게 됩니다. Compose에서 UI를 다시 그리는 과정을 Recomposition이라고 하고, compose에서 UI 갱신은 오직 Recomposition에 의해서만 이루어집니다. @Composable fun OutlinedTextFieldEx() { var name by remember { mutableStateOf("") } OutlinedTextField( value = name, onValueChange = { name = it } ) } 위의 예시에서 OutlinedTextField는 내부에서 상태를 가지고 있지 않습.. 2023. 12. 29.
[Jetpack Compose] Compose에서 폰트시스템(Typography) 구축하기 최근 Compose로 신규 안드로이드 앱을 개발하는 프로젝트에 참여하게 되었습니다. 본격적인 개발을 시작하기 전 앱 전체에서 사용하게 될 Text의 Style을 지정하기 위해 어떤 방법들이 있나 찾아보았고, 기존에 공부하던 xml 개발 방식과는 다소 차이가 있는 것 같아 공유합니다! 우선 앱에서 사용할 폰트를 다운받아 res → font 폴더에 저장합니다. 폰트는 구글에 검색하면 쉽게 다운로드받을 수 있고, .ttf확장자의 대문자를 포함하지 않아야 합니다. Type.kt private val nanumSquareRoundStyle = FontFamily( Font(R.font.nanum_square_round_regular, weight = FontWeight.Normal), Font(R.font.nan.. 2023. 12. 27.
728x90
반응형