/TimetableView

一个开源的、完善的、简洁的课程表控件

Primary LanguageJavaMIT LicenseMIT

TimetableView

TimetableView是一款开源的Android课程表控件。

  • 支持xml设置属性、数据源
  • 提供了默认的周次选择栏(超级课程表效果),支持自定义
  • 提供了默认的日期栏,支持自定义
  • 多项侧边栏配置项,可设置时间的显示与否,支持自定义
  • 多项课程项配置项,可拦截、可修改弧度、可设置非本周是否显示
  • 课程颜色管理:使用颜色池来管理颜色,操作灵活
  • 高效灵活:切换周次高效率、一个样式文件实现了多种课程项样式效果
  • 可替换滚动布局:不将该控件绑死在固有的ScrollView中
  • 无界面操作:你可以使用工具类对课程进行模拟分配颜色、获取有课的课程等

11

Resource

Others

这个库已经用到了我的两个项目中了,并且这两个项目都已经发布在酷安上了,你可以下载hpu小课体验

Get Start

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,蟹蟹~

Get Start 2.x

你可以跟随以下几个小节进行由简至难的学习:

About Me