SuitLines

介绍:

一个小巧且高效的线性图表组件。

运行效果:

使用说明:

1.集成

  • 第一种:通过build.gradle方式集成
compile 'tech.linjiang:suitlines:1.0.0'

第二种:直接下载源文件到项目。(推荐)

由于所有的逻辑代码都在SuitLines.java中且拥有丰富的注释,所以可以方便地按照实际业务需求来调整或改造。

2.在xml布局中调用:

<tech.linjiang.suitlines.SuitLines
    xmlns:line="http://schemas.android.com/apk/res-auto"
    android:id="@+id/suitlines"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    line:xySize="8"
    line:xyColor="@color/colorAccent"
    line:lineType="curve"
    line:Style="solid"
    line:needEdgeEffect="true"
    line:colorEdgeEffect="@color/colorPrimaryDark"
    line:needClickHint="true"
    line:colorHint="@color/colorPrimary"
    line:maxOfVisible="7"
    line:countOfY="6"/>

所有可静态配置的属性如上,以下是其对应的动态设置方法及其它API:

静态属性对应API说明
xySizesetXySizexy轴文字大小
xyColorsetXyColorxy轴文字的颜色,包含轴线
lineTypesetLineType指定line类型:CURVE / SEGMENT(曲线/线段)
StylesetLineStyle指定line的风格:DASHED / SOLID(虚线/实线)
needEdgeEffectdisableEdgeEffect关闭边缘效果,默认开启
colorEdgeEffectsetEdgeEffectColor指定边缘效果的颜色,默认为Color.GRAY
needClickHintdisableClickHint关闭点击提示信息,默认开启
colorHintsetHintColor设置提示辅助线、文字颜色
maxOfVisible/一组数据在可见区域中的最大可见点数,至少>=2
countOfY/y轴刻度数,至少>=1
/setLineSize设置line在非填充形态时的大小
/setLineForm设置line的形态:是否填充,默认为false

3.填充数据

对于一条line,可以直接调用feed或feedWithAnim方法:

List<Unit> lines = new ArrayList<>();
for (int i = 0; i < 14; i++) {
    lines.add(new Unit(new SecureRandom().nextInt(48), i + ""));
}
suitLines.feedWithAnim(lines);

如果是多条数据,则需要通过Builder来实现:

SuitLines.LineBuilder builder = new SuitLines.LineBuilder();
for (int j = 0; j < count; j++) {
    List<Unit> lines = new ArrayList<>();
    for (int i = 0; i < 50; i++) {
        lines.add(new Unit(new SecureRandom().nextInt(128), "" + i));
    }
    builder.add(lines, new int\[\]{...});
}
builder.build(suitLines, true);

已下载
0