高度可定制的跨平台日历库

Calendar Library

一个为Android和Compose Multiplatform设计的高度可定制的日历库,基于RecyclerView(视图系统)和LazyRow/LazyColumn(Compose)实现。

项目链接地址:https://github.com/kizitonwose/Calendar.git

功能特性

  • 多种视图模式:支持周视图、月视图或年视图模式
  • 灵活的日期选择:支持单选、多选或范围选择
  • 日期禁用功能:可以禁用特定日期防止被选择
  • 边界日期限制:可以设置日历的日期范围限制
  • 完全自定义:支持自定义日期视图和Compose组件
  • 跨平台支持:同时支持Android视图系统和Compose Multiplatform

安装指南

该库尚未发布到中央仓库,可以通过以下方式使用:

  1. 克隆仓库到本地
  2. 添加为本地模块依赖

系统要求:

  • Android SDK 21+
  • Kotlin 1.5.0+

使用说明

基础使用示例:

// 创建日历实例
val calendar = Calendar(
    mode = CalendarMode.Month(),
    selectionMode = SelectionMode.Single()
)

// 设置日期范围
calendar.setBoundaries(
    start = LocalDate.now().minusMonths(6),
    end = LocalDate.now().plusMonths(6)
)

// 添加日期选择监听
calendar.setOnDateSelectedListener { date ->
    // 处理日期选择
}

典型使用场景:

  • 预约系统
  • 行程规划应用
  • 日期选择器
  • 活动日历

界面展示


更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

posted @ 2025-06-22 10:00  qife  阅读(25)  评论(0)    收藏  举报