Skip to content
壮飞 edited this page Aug 24, 2018 · 16 revisions

Home

有问题请联系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结尾的,存放对应接口的默认实现类

model

该包存放与Schedule有关的模型类

  • Schedule:课程实体
  • ScheduleColorPool:课程颜色池
  • ScheduleEnable:自定义课程实体需要实现该接口
  • ScheduleSupport:与课程有关的工具方法
  • WeekViewEnable:用处不大,用来规范自定义周次选择栏

Schedule表示一个课程实体,有以下几点需要注意:

  • day=1表示周一;start=1表示从第一节课开始;step=1表示连续上一节
  • colorRandom是根据数据源进行顺序分发的,可以根据该值从颜色池取颜色
  • name、room等String型变量如果未设置,默认返回""
  • 可以通过setExtras()putExtras()getExtras()来设置、添加、获取一些额外信息

utils

该包存放一些全局的工具方法

  • ColorUtils:颜色工具,转换为指定透明度
  • ScreenUtils:尺寸工具,屏幕尺寸获取以及dp与px互相转换

view

该包存放控件实现的自定义View

  • PerWeekView:周次选择栏的每项View
  • WeekView:周次选择栏

TimetableView

课表控件,主要是操作该对象进而完成对属性设置以及对视图的创建、更新

视图创建、更新

对视图的创建、更新的方法有以下几个:

  • showDateView():将日期栏设为可见状态
  • hideDateView():将日期栏设为隐藏状态
  • updateView():showView()的别名
  • showView():绘制课程表
  • updateDateView():更新日期栏
  • updateSlideView():更新侧边栏
  • changeWeek(int week, boolean isCurWeek):周次切换,如果isCurWeek为true,则将week设置为当前周
  • changeWeekOnly(int week):只进行周次切换,不设置当前周
  • changeWeekForce(int week):周次切换,强制设置为当前周

属性配置与获取

TimetableView提供了非常多的属性配置,就不一一列举了,请查阅TimetableView类的文档

Resource

最新文档

历史文档

关于我

Clone this wiki locally