-
Notifications
You must be signed in to change notification settings - Fork 106
Home
壮飞 edited this page Aug 24, 2018
·
16 revisions
有问题请联系
QQ:1193600556
你将了解到该控件用法的方方面面,点击
快速开始
按钮体验吧
如果你想阅读源码,那么接下来的内容对你是有用的,请仔细阅读,它会带你理清整个控件的大致轮廓,细节你需要到代码或者Javadocs中寻找答案。 如果对源码不感兴趣,请忽略以下部分。
源码的结构(以最新版为例):
- com.zhuangfei.timetable
- listener
- ISchedule
- IWeekView
- OnDateBuildAdapter
- OnItemBuildAdapter
- OnItemClickAdapter
- OnScollViewBuildAdapter
- OnSlideBuildAdapter
- OnWeekChangedAdapter
- OnWeekItemClickedAdapter
- OnWeekLeftClickedAdapter
- model
- Schedule
- ScheduleColorPool
- ScheduleEnable
- ScheduleSupport
- WeekViewEnable
- utils
- ColorUtils
- ScreenUtils
- view
- PerWeekView
- WeekView
- TimetableView
- listener
该包中存放接口以及默认的实现类
- ISchedule:契约类,存放与TimetableView有关的接口
- IWeekView:契约类,存放与WeekView有关的接口
- 以Adapter结尾的,存放对应接口的默认实现类
该包存放与Schedule有关的模型类
- Schedule:课程实体
- ScheduleColorPool:课程颜色池
- ScheduleEnable:自定义课程实体需要实现该接口
- ScheduleSupport:与课程有关的工具方法
- WeekViewEnable:用处不大,用来规范自定义周次选择栏
Schedule表示一个课程实体,有以下几点需要注意:
- day=1表示周一;start=1表示从第一节课开始;step=1表示连续上一节
- colorRandom是根据数据源进行顺序分发的,可以根据该值从颜色池取颜色
- name、room等String型变量如果未设置,默认返回
""
- 可以通过
setExtras()
、putExtras()
、getExtras()
来设置、添加、获取一些额外信息
该包存放一些全局的工具方法
- ColorUtils:颜色工具,转换为指定透明度
- ScreenUtils:尺寸工具,屏幕尺寸获取以及dp与px互相转换
该包存放控件实现的自定义View
- PerWeekView:周次选择栏的每项View
- WeekView:周次选择栏
课表控件,主要是操作该对象进而完成对属性设置以及对视图的创建、更新
视图创建、更新
对视图的创建、更新的方法有以下几个:
- showDateView():将日期栏设为可见状态
- hideDateView():将日期栏设为隐藏状态
- updateView():
showView()
的别名 - showView():绘制课程表
- updateDateView():更新日期栏
- updateSlideView():更新侧边栏
- changeWeek(int week, boolean isCurWeek):周次切换,如果isCurWeek为true,则将week设置为当前周
- changeWeekOnly(int week):只进行周次切换,不设置当前周
- changeWeekForce(int week):周次切换,强制设置为当前周
属性配置与获取
TimetableView
提供了非常多的属性配置,就不一一列举了,请查阅TimetableView类的文档