跳到正文
发现
CalendarView:高性能 Android 日历控件
其他开发者工具

CalendarView:高性能 Android 日历控件

一个基于 Canvas 绘制的 Android 日历控件库,渲染快、占用内存低,并支持自由定制界面,适合需要在 App 中嵌入日历的开发者。

admin
发布于 2026-10-28
浏览
5
访问
0
下载
0
版本
vlatest
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

CalendarView 是一个用 Java 编写的 Android 日历控件库。它没有使用 RecyclerView、ListView 或 ViewGroup 组合,而是直接通过 Canvas 绘制日历,因此渲染速度快、内存占用极低。开发者可以在这套控件上灵活定制 UI,实现不同风格的日历界面。

主要功能

  • Canvas 绘制,渲染速度快、内存占用低
  • 界面可自由定制:通过自定义 MonthView、WeekBar、WeekView、YearView 等实现自己的样式
  • 提供多种效果示例,包括年视图、区间选择、仿魅族手机日历、进度条样式、星空样式、彩色全屏样式、中式展开/收缩样式等
  • 支持配置混淆规则,方便在正式包中使用
  • 提供 Demo APK 可直接体验效果

安装与使用

要求 Android Studio v3.5+。

AndroidX 版本:

implementation 'com.haibin:calendarview:3.7.1'

使用 support 包的版本:

implementation 'com.haibin:calendarview:3.6.8'

Maven 依赖:

<dependency>
  <groupId>com.haibin</groupId>
  <artifactId>calendarview</artifactId>
  <version>3.7.1</version>
  <type>pom</type>
</dependency>

使用自定义 View 时,需要加入混淆规则:

-keepclasseswithmembers class * {
    public <init>(android.content.Context);
}

或者逐类声明:

-keep class your project path.MonthView {
    public <init>(android.content.Context);
}
-keep class your project path.WeekBar {
    public <init>(android.content.Context);
}
-keep class your project path.WeekView {
    public <init>(android.content.Context);
}
-keep class your project path.YearView {
    public <init>(android.content.Context);
}

使用文档:

注意事项

  • 免费开源部分的最终版本为 3.7.1;垂直、水平切换日历以及自定义动画高仿 iOS 日历等源码不再开源。
  • 使用自定义的 MonthView、WeekBar、WeekView、YearView 时,请务必添加对应的混淆规则,避免运行时构造失败。
  • 可以下载 CalendarViewDemo.apk 先体验实际效果。
  • 项目采用 Apache-2.0 许可证。

本作品整理自 GitHub 开源项目 huanghaibin-dev/CalendarView,原作者 @huanghaibin-dev,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. vlatest当前版本

    极致性能与自由定制界面。

评论