Releases: kez-lab/Compose-DateTimePicker
Releases · kez-lab/Compose-DateTimePicker
release 0.4.0
Release 0.3.0
릴리즈 0.3.0
주요 변경 사항
레이아웃 유연성 강화
YearMonthPicker와TimePicker에서 고정된 너비 대신Modifier.weight(1f)를 사용하여 각 피커가 가로 공간을 균등하게 차지하도록 변경하여
다양한 화면 크기에 유연하게 대응할 수 있도록 개선했습니다.
API 간소화 및 불필요한 매개변수 제거
Picker컴포저블에서 불필요한textModifier매개변수를 제거하고,itemPadding을Text컴포저블에 직접 적용하도록
변경하여 API를 더욱 명확하고 사용하기 쉽게 만들었습니다.
구분선(Divider) 가시성 제어 추가
isDividerVisible매개변수를 추가하여 피커의 구분선 표시 여부를 제어할 수 있도록 하여 커스터마이징의 폭을 넓혔습니다.
루트 컴포저블 변경
YearMonthPicker와TimePicker의 루트 컴포저블을Surface에서Box로 변경하여 불필요한 머티리얼 디자인 효과를 제거하고 더 순수한 레이아웃 컨테이너로 사용하도록 개선했습니다.
성능 최적화
- 불필요한
remember사용을 제거하여 컴포넌트의 성능을 미세하게 개선했습니다.
라이브러리 배포
Maven Central에서 라이브러리를 사용하실 수 있습니다.(https://central.sonatype.com/artifact/io.github.kez-lab/compose-date-time-picker)
라이브러리 다운로드 방법
# app/build.gradle.kts
dependencies {
implementation("io.github.kez-lab:compose-date-time-picker:0.3.0")
}release 0.2.0
compose-date-time-picker 0.2.0 (2025‑05‑05)
🚀 주요 변경사항
- Compose Multiplatform 표준 구조로 프로젝트 완전 재구성
- 기존 복잡한 모듈 구조(picker, picker‑multiplatform, app, androidApp, composeApp, shared) 제거
datetimepicker(라이브러리)와sample(데모 앱) 2개 모듈로 단순화
- 공통 코드(commonMain)로 최대한 추출·리팩토링
- 플랫폼별 구현은
androidMain,iosMain,jvmMain,jsMain에 분리
- 플랫폼별 구현은
- 멀티플랫폼 데모 애플리케이션 구현
- Android →
MainActivity.kt - iOS →
main.kt(UIViewController 진입점) - Desktop(JVM) →
main.kt(윈도우 애플리케이션) - Web(JS) →
main.kt(브라우저 애플리케이션)
- Android →
- 빌드 설정 및 개발 환경 개선
- CMP에 최적화된
.gitignore적용 - Gradle 의존성 관리 및 빌드 로직 정비
- 불필요 의존성·모듈 제거
- CMP에 최적화된
- 문서화(README) 전면 업데이트
- 새로운 프로젝트 구조 설명
- 설치·사용 방법과 예제 코드 추가
📦 배포
- Sonatype Central에
0.2.0배포 완료- Maven coordinates:
io.github.kez-lab:compose-date-time-picker:0.2.0 - 배포 확인:
https://central.sonatype.com/artifact/io.github.kez-lab/compose-date-time-picker/overview
- Maven coordinates:
release 0.0.3
Release Notes
주요 변경 사항
TimePickerDialog 구현
- 시간 선택 UI 제공: 12시간/24시간 형식을 지원하며, 시간, 분, AM/PM(12시간 형식)을 선택할 수 있는 대화상자.
- 결과 반환: 선택한 시간이
LocalDateTime형식으로 반환됩니다.
TimePicker 컴포넌트 개선
- 제네릭 타입 지원:
Picker와PickerState가 다양한 데이터 타입(String, Int 등)을 처리할 수 있도록 변경. - 시간 범위 추가: 12시간 및 24시간 형식의
HOUR12_RANGE,HOUR24_RANGE추가. - UI 개선:
visibleItemsCount,dividerColor등 사용자 경험 강화.
Kotlin DateTime 라이브러리 도입
kotlinx-datetime사용: 현대적인 날짜 및 시간 처리 API를 도입하여 시간 계산 로직과 데이터 반환을 개선.
Gradle 의존성 및 설정 변경
- 추가:
kotlinx-datetime의존성 및 버전. - 삭제: 기존
libs.androidx.ui및 불필요한compose-bom관련 구문.
요약
TimePickerDialog와 kotlinx-datetime 도입으로 시간 선택 및 계산 로직을 현대화하고, Picker 컴포넌트의 유연성과 사용자 경험을 강화했습니다.
release 0.0.2
버전 0.0.2 릴리즈 노트
📅 릴리즈 날짜: 2024-08-30
🚀 새로운 기능
-
TimePicker 컴포넌트 추가
- 시간과 분을 선택할 수 있는 직관적인 Picker 컴포넌트.
- 주요 기능:
- AM/PM 선택을 포함한 12시간 형식의 시간 선택기.
- 시간, 분 Picker 간의 간격 및 텍스트 스타일 커스터마이징 가능.
- 시각적으로 구분하기 쉬운
:구분 기호 추가.
-
무한 스크롤 제어 기능 추가
- Picker 컴포넌트에 무한 스크롤 기능을 활성화하거나 비활성화할 수 있는 옵션 추가.
- 주요 기능:
isInfinity매개변수를 통해 무한 스크롤 여부를 설정 가능.- 무한 스크롤을 비활성화할 경우, Picker의 시작 및 끝에 도달할 수 있도록 제어 가능.
- 비무한 스크롤 시, 상단 및 하단에 빈 아이템을 추가하여 스크롤 가능 영역 유지.
🧪 실험적 API 알림
- Picker 및 TimePicker 컴포넌트는 실험적 API(
@OptIn(ExperimentalFoundationApi::class))를 사용하므로, 향후 릴리즈에서 변경될 수 있습니다.
📦 설치 방법
// groovy
dependencies {
implementation 'io.github.kez-lab:compose-date-time-picker:0.0.2'
}// kotlin dsl
dependencies {
implementation("io.github.kez-lab:compose-date-time-picker:0.0.2")
} Release 0.0.1
버전 0.0.1 릴리즈 노트
📅 릴리즈 날짜: 2024-08-20
🚀 새로운 기능
-
Picker 컴포넌트
- 숫자, 날짜, 카테고리 등 다양한 분야에 활용 가능한 다용도의 커스터마이징 가능한 Picker.
- 주요 기능:
- 사용자 정의 가능한 items 리스트.
- Fading edge gradients와 커스터마이징 가능한 divider thickness 및 shape 지원.
- 일반적인 사용 사례를 위한 기본 설정 포함, 광범위한 커스터마이징 옵션 제공.
-
YearMonthDatePicker 컴포넌트
- 연도와 월을 선택할 수 있는 특화된 Picker로, 날짜 입력에 적합.
- 주요 기능:
- 현재 날짜로 간편하게 초기화할 수 있는 사전 설정된 year 및 month 범위.
- 선택된 항목과 선택되지 않은 항목에 대한 text style 커스터마이징 가능.
- Pickers 간 간격 조정 및 picker width 설정 가능.
🧪 실험적 API 알림
- Picker 컴포넌트는 실험적 API(
@OptIn(ExperimentalFoundationApi::class))를 사용하므로, 향후 릴리즈에서 변경될 수 있습니다.
📦 설치 방법
// groovy
dependencies {
implementation 'io.github.kez-lab:compose-datepicker:0.0.1'
}// kotlin dsl
dependencies {
implementation("io.github.kez-lab:compose-datepicker:0.0.1")
}