//造假数据 仿github贡献图
String[] week = {"日","一","二","三","四","五","六";
Integer[][] infos = {{0,1,2,1,1,0,1,1,0,1,1,2,3}, {4,2,1,1,0,1,1,0,1,1,2,2,3},
{2,2,0,1,2,4,1,0,1,3,0,1,1},{2,1,1,0,1,4,0,1,1,2,2,0,3},
{0,1,2,4,1,0,1,4,0,1,1,2,2}, {1,0,1,3,2,2,0,1,2,1,1,0,4},
{3,1,2,4,0,1,2,1,1,0,1,1,0}};
ArrayTableData<Integer> tableData = ArrayTableData.create("日程表",week,infos,new IDrawFormat<Integer>(){
@Override
public int measureWidth(Column<Integer> column, TableConfig config) {
//设置宽50dp
return DensityUtils.dp2px(ArrayModeActivity.this,50);
}
@Override
public int measureHeight(Column<Integer> column, int position, TableConfig config) {
//设置高50dp
return DensityUtils.dp2px(ArrayModeActivity.this,50);
}
@Override
public void draw(Canvas c, Column<Integer> column, Integer integer, String value, Rect rect, int position, TableConfig config) {
Paint paint = config.getPaint();
int color;
switch (integer){
case 1:
color =R.color.github_con_1;
break;
case 2:
color =R.color.github_con_2;
break;
...
break;
}
//绘制正方形
c.drawRect(rect.left+5,rect.top+5,rect.right-5,rect.bottom-5,paint);
}
});
//点击事件
tableData.setOnItemClickListener(new ArrayTableData.OnItemClickListener<Integer>() {
@Override
public void onClick(Column column, String value, Integer o, int col, int row) {
Toast.makeText(ArrayModeActivity.this,"列:"+col+ " 行:"+row + "数据:"+value,Toast.LENGTH_SHORT).show();
}
});
//设置表格数据
table.setTableData(tableData);
来源: https://juejin.im/post/5a5dce7651882573256bd043