发现 
其他开发者工具
CalendarView:高性能 Android 日历控件
一个基于 Canvas 绘制的 Android 日历控件库,渲染快、占用内存低,并支持自由定制界面,适合需要在 App 中嵌入日历的开发者。
- 浏览
- 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 整理,以原仓库为准。
更新记录
- vlatest当前版本
极致性能与自由定制界面。
评论