TimetableView是一款开源的Android课程表控件。
- 支持xml设置属性、数据源
- 提供了默认的周次选择栏(超级课程表效果),支持自定义
- 提供了默认的日期栏,支持自定义
- 多项侧边栏配置项,可设置时间的显示与否,支持自定义
- 多项课程项配置项,可拦截、可修改弧度、可设置非本周是否显示
- 课程颜色管理:使用颜色池来管理颜色,操作灵活
- 高效灵活:切换周次高效率、一个样式文件实现了多种课程项样式效果
- 可替换滚动布局:不将该控件绑死在固有的ScrollView中
- 无界面操作:你可以使用工具类对课程进行模拟分配颜色、获取有课的课程等
这个库已经用到了我的两个项目中了,并且这两个项目都已经发布在酷安上了,你可以下载hpu小课体验
Step1:添加依赖
Gradle
compile 'com.zhuangfei:TimetableView:2.0.1'
Maven
<dependency>
<groupId>com.zhuangfei</groupId>
<artifactId>TimetableView</artifactId>
<version>2.0.1</version>
<type>pom</type>
</dependency>
Step2:添加控件
该控件包含的基础组件有日期栏、侧边栏、课表视图,在布局文件中加入如下代码后会包含这三个基础组件
<com.zhuangfei.timetable.TimetableView
android:id="@+id/id_timetableView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.zhuangfei.timetable.TimetableView>
Step3:配置属性
使用如下方式获取到控件
TimetableView mTimetableView = findViewById(R.id.id_timetableView);
属性的设置分为两类:与课程项构建有关的、与全局有关的,前者的配置在ScheduleManager
对象中,后者的配置在TimetableView
中,所有配置信息需要在showView()
调用前完成,否则无效
以下代码用来监听课程项点击事件:
mTimetableView.getScheduleManager()
.setOnItemClickListener(new ISchedule.OnItemClickListener() {
@Override
public void onItemClick(View v, List<Schedule> scheduleList) {
display(scheduleList);
}
});
然后设置它的一些全局属性,最后调用showView()
用来创建和显示课表视图,代码如下:
mTimetableView.setSource(mySubjects)
.setCurWeek(1)
.setCurTerm("大三下学期")
.showView();
至此,课表已经可以显示在视图上了。啊啊啊,怎么没有解释,看不懂呀!
不要着急,我特意写了大量的例子以及十篇文章来帮助你学习、理解它,如果你感觉它很好用,请帮我点一下右上角的star
,蟹蟹~
你可以跟随以下几个小节进行由简至难的学习: