CourseTableView
来源:互联网 发布:免费手机库存软件 编辑:程序博客网 时间:2024/05/22 09:48
前言
最近在学习课程表的制作方法,并没有发现一些已经封装好的课表开源库,于是突发奇想封装了一个这样的课程表控件,正好也学习了如果发布自己的第三方库。
项目的地址:CourseTableView
推荐阅读:教你自己写Android第三方库
介绍
CourseTableView 是一个让你快速方便的创建课程表视图的库
平台要求
- Android SDK 15+
基本使用
- 在你的配置文件中添加 JitPack的代码仓库
- Gradle
Add it in your root build.gradle at the end of repositories:
- Gradle
allprojects { repositories { ... maven { url 'https://jitpack.io' } }}
- Maven
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories>
- 添加依赖
- Gradle
dependencies { compile 'com.github.YueYongDev:CourseTableView:v1.0'}
- Maven
<dependency> <groupId>com.github.YueYongDev</groupId> <artifactId>CourseTableView</artifactId> <version>v1.0</version></dependency>
- 在你想要展示你的课程表的那个界面添加“CourseTableView”
<cn.lyy.coursetable.CourseTableView android:id="@+id/ctv" android:layout_width="match_parent" android:layout_height="match_parent" />
- 同时,你需要在Activity中创建
Course
对象
Course c1 = new Course();c1.setDay(1);c1.setDes("第一节课");c1.setJieci(1);c1.setBg_Color(color[2]);Course c2 = new Course();c2.setDay(6);c2.setDes("第一节课");c2.setJieci(3);c2.setBg_Color(color[3]);
- 创建一个集合,并把之前创建的对象添加进去
List<Course> list = new ArrayList<>();list.add(c1);list.add(c2);
- 初始化你的
coursetableview
并且执行updateCourseViews
方法
CourseTableView courseTableView = (CourseTableView) findViewById(R.id.ctv);courseTableView.updateCourseViews(list);
扩展
更改课程背景
你可以使用以下的预置背景:
private int color[] = { R.drawable.course_info_blue, R.drawable.course_info_brown, R.drawable.course_info_cyan, R.drawable.course_info_deep_orange, R.drawable.course_info_deep_purple, R.drawable.course_info_green, R.drawable.course_info_indigo, R.drawable.course_info_light_blue, R.drawable.course_info_light_green, R.drawable.course_info_lime, R.drawable.course_info_orange, R.drawable.course_info_pink, R.drawable.course_info_purple, R.drawable.course_info_red, R.drawable.course_info_teal, R.drawable.course_info_yellow };
也可以选择自定义你的背景:
1. 创建一个 Drawable resource file.
bg_resource.xml
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#A5D6A7" /> <corners android:radius="5dp" /> </shape>
- 使用这个资源文件作为背景
int bg_resource = R.drawable.bg_resource;
c3.setBg_Color(bg_resource);
使课表可以点击
执行以下方法便可以响应点击事件
courseTableView.setOnCourseItemClickListener(new CourseTableView.OnCourseItemClickListener() { @Override public void onCourseItemClick(TextView tv, int jieci, int day, String des) { String string = tv.getText().toString(); Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show(); }});
用法例子详见Demo