-
Notifications
You must be signed in to change notification settings - Fork 106
版本说明
zfman edited this page Sep 6, 2018
·
10 revisions
- 修复继承
SimpleOperator
、AbsOperator
时出现的空指针问题 - 修复设置
curWeek()
在callback(onWeekChangedListener l)
之后时不触发onWeekChangedListener
问题 - 增大属性的访问权限,便于自定义,并演示如何自定义
Operator
- 完善课程过滤算法
- 修复非本周设置无效的问题(
v2.0.4引入的问题
)
- 修复重叠时点击课程时获取的课程不正确的问题
- 增加WeekView对curWeek的校验
- 将业务逻辑和属性设置分离开
- 月份宽度可设置
new
- 周末可设置隐藏
new
- 修复课程重叠显示错误的问题
- 修复点击格子间隙出现的问题
升级指南:
旧版本中,如果自定义周次选择栏时实现了WeekViewEnable<T>
,那么有这么一个方法需要实现:
public WeekView isShow(boolean isShow){}
在本版本更新中,该方法的返回类型修改为了泛型T,所以代码如下:
@Override
public CustomWeekView isShow(boolean isShow){
}
- 配置全部迁移到TimetableView中
- TimetableView和WeekView中的方法改为
curWeek(int cur)
、curWeek()
这种形式,取消set、get前缀 - TimetableView中接口的设置统一为
callback(...)
- 修改TimetableView中的大部分接口和默认实现
- WeekView左侧按钮可隐藏、切换周次时可以推算新的日期
- 可设置背景以及透明度(日期栏、侧边栏、课程项可分别设置)
- 数据源可添加额外信息
其他的用法可以参考v2.0.2
文档,以下是日期推算的用法:
mWeekView.source(mySubjects)
.curWeek(1)
.callback(new IWeekView.OnWeekItemClickedListener() {
@Override
public void onWeekClicked(int week) {
int cur = mTimetableView.curWeek();
//更新切换后的日期,从当前周cur->切换的周week
mTimetableView.onDateBuildListener()
.onUpdateDate(cur, week);
mTimetableView.changeWeekOnly(week);
}
})
.showView();
这句话是精髓:
//更新切换后的日期,从当前周cur->切换的周week
mTimetableView.onDateBuildListener()
.onUpdateDate(cur, week);
v2.0.0修改幅度非常大,所以也引入了一些问题,遂立即对其修复
- 修复
v2.0.0
引入的周日崩溃问题:WeekView由于日期计算错误导致周日就会崩溃 - 修复课程重叠时显示不全的问题
- 修复若干其他问题 Issues#3
- 增加自定义属性
- 增加默认的周次选择栏
- 增加周次选择、日期栏、侧边栏自定义
- 优化项目结构
- 增加课程颜色管理
- 增加课程项配置
- 增加滚动布局替换方案
- 增加若干个有用的课程工具方法
- 将36个课程样式文件减少到1个
- 可自定义背景图层
- 提供一个网格背景图层的实现
- 彻底修复特定情况下角标计算错误的问题,上一版本在特定情况下依然会计算错误
- 修复特定情况下角标计算错误的问题
- 在工具类中增加了获取某天课程的方法
- 将项目上传到了jcenter,以后将重点维护AndroidStudio的版本