{"id":13641861,"url":"https://github.com/whataa/SuitLines","last_synced_at":"2025-04-20T12:30:51.112Z","repository":{"id":174901074,"uuid":"87646765","full_name":"whataa/SuitLines","owner":"whataa","description":"[DEPRECATED]一个小巧且高效的线性图表组件。","archived":false,"fork":false,"pushed_at":"2018-07-09T03:36:25.000Z","size":102,"stargazers_count":867,"open_issues_count":17,"forks_count":135,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-04T19:10:05.763Z","etag":null,"topics":["android","linechart","linegraph","view"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whataa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-08T16:12:36.000Z","updated_at":"2024-11-06T09:51:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"568260c3-cf40-4e28-83aa-222c2784dd0c","html_url":"https://github.com/whataa/SuitLines","commit_stats":null,"previous_names":["whataa/suitlines"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whataa%2FSuitLines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whataa%2FSuitLines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whataa%2FSuitLines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whataa%2FSuitLines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whataa","download_url":"https://codeload.github.com/whataa/SuitLines/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249893348,"owners_count":21341434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","linechart","linegraph","view"],"created_at":"2024-08-02T01:01:25.090Z","updated_at":"2025-04-20T12:30:50.882Z","avatar_url":"https://github.com/whataa.png","language":"Java","funding_links":[],"categories":["图表(Chart)"],"sub_categories":[],"readme":"SuitLines [ ![Download](https://api.bintray.com/packages/yanglssc/maven/suitlines/images/download.svg?version=1.0.0) ](https://bintray.com/yanglssc/maven/suitlines/1.0.0/link)\n======================\n\nsuitline是一个小巧且高效的线性图表组件。\n\n![image](http://note.youdao.com/yws/api/personal/file/10C1FEB88C5B43B28CCF8164EED2ACD3?method=download\u0026shareKey=585959eab979d7470444426d28ea5cf9)\n![image](http://note.youdao.com/yws/api/personal/file/66EB80D81F3A43BAA0B917D4B36275BF?method=download\u0026shareKey=70db0d503ec790dfdab955e4366f8de7)\n\n![image](http://note.youdao.com/yws/api/personal/file/C24FFB56C0F944E9AF4332357F33F09C?method=download\u0026shareKey=156bb9a08b3f4f4d6ae8f5ddac4607fb) ![image](http://note.youdao.com/yws/api/personal/file/CC73337B96A94DA493D6B8E27F9103D7?method=download\u0026shareKey=d0115a84957acf8bba265058460a63d9)\n\n## 更新历史\n\n- 2018/7/9\n\n\u003e 从本次提交开始，不再支持通过compile形式集成，建议直接拷贝源码到项目，方便自定义；\n\n    1. 修复被detach的情况下，重新attach到View时没有绘制的情况；\n    2. 支持显示y为负数的情况；\n    3. 新增y轴刻度辅助线显示，通过方法`setShowYGrid(boolean showYGrid)`开启或关闭；\n\n- 2017/5/21（v1.1.0）\n\n    1. 修复BUG：#1，#7；\n    2. 新增FILL形态时显示图表上边框线的属性coverLine，具体效果已添加至demo，通过方法`setCoverLine(boolean enable)`开启或关闭；\n\n\n## 功能特性\nsuitline基于实用性目的而打造，相较于其它图表库，suitlines在多线段、性能体验以及视觉反馈等几个方面进行了支持和优化，使其更适合用于实际项目中。suitLines的所有特性如下：\n\n- 可以为line指定一或多种颜色；\n\n- 支持多条line；\n\n- 支持线段 / 曲线 / 虚线 相互切换；\n\n- 支持边缘拖动反馈效果；\n\n- 支持y轴自定义分隔区间、x轴自定义文本；\n\n- 支持点击反馈；\n\n- 美而不腻的动画；\n\n\n## 使用步骤\n\n\u003e 注意：SuitLines需要项目的 API \u003e= 14\n\n### 1.集成\n- ~~第一种：通过build.gradle方式集成~~ **[DEPRECATED]**\n    ```groovy\n    compile 'tech.linjiang:suitlines:1.1.0'\n    ```\n\n- 第二种：直接下载源文件到项目。（**推荐**）\n\n    由于所有的逻辑代码都在`SuitLines.java`中且拥有丰富的注释，所以可以方便地按照实际业务需求来调整或改造。\n\n### 2.在xml布局中调用：\n```\n\u003ctech.linjiang.suitlines.SuitLines\n    xmlns:line=\"http://schemas.android.com/apk/res-auto\"\n    android:id=\"@+id/suitlines\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"200dp\"\n    line:xySize=\"8\"\n    line:xyColor=\"@color/colorAccent\"\n    line:lineType=\"curve\"\n    line:Style=\"solid\"\n    line:needEdgeEffect=\"true\"\n    line:colorEdgeEffect=\"@color/colorPrimaryDark\"\n    line:needClickHint=\"true\"\n    line:colorHint=\"@color/colorPrimary\"\n    line:maxOfVisible=\"7\"\n    line:countOfY=\"6\"/\u003e\n```\n所有可静态配置的属性如上，以下是其对应的动态设置方法及其它API：\n\n静态属性 | 对应API | 说明\n---|---|---\nxySize | setXySize | xy轴文字大小\nxyColor | setXyColor | xy轴文字的颜色，包含轴线\nlineType | setLineType | 指定line类型：CURVE / SEGMENT（曲线/线段）\nStyle | setLineStyle | 指定line的风格：DASHED / SOLID（虚线/实线）\nneedEdgeEffect | disableEdgeEffect | 关闭边缘效果，默认开启\ncolorEdgeEffect | setEdgeEffectColor | 指定边缘效果的颜色，默认为Color.GRAY\nneedClickHint | disableClickHint | 关闭点击提示信息，默认开启\ncolorHint | setHintColor | 设置提示辅助线、文字颜色\nmaxOfVisible | / | 一组数据在可见区域中的最大可见点数，至少\u003e=2\ncountOfY | / | y轴刻度数，至少\u003e=1\n/ | setLineSize | 设置line在非填充形态时的大小\n/ | setLineForm | 设置line的形态：是否填充，默认为false\n/ | setCoverLine | 设置当line是FILL形态时，是否现在上边框线，默认false\n\n### 3.填充数据\n\n对于一条line，可以直接调用feed或feedWithAnim方法：\n```\nList\u003cUnit\u003e lines = new ArrayList\u003c\u003e();\nfor (int i = 0; i \u003c 14; i++) {\n    lines.add(new Unit(new SecureRandom().nextInt(48), i + \"\"));\n}\nsuitLines.feedWithAnim(lines);\n```\n如果是多条数据，则需要通过Builder来实现：\n```\nSuitLines.LineBuilder builder = new SuitLines.LineBuilder();\nfor (int j = 0; j \u003c count; j++) {\n    List\u003cUnit\u003e lines = new ArrayList\u003c\u003e();\n    for (int i = 0; i \u003c 50; i++) {\n        lines.add(new Unit(new SecureRandom().nextInt(128), \"\" + i));\n    }\n    builder.add(lines, new int[]{...});\n}\nbuilder.build(suitLines, true);\n```\n\n\n\n\n## 说明\n\n感谢star或fork，若需要了解具体实现，请直接clone本工程，源码拥有丰富的注释说明。\n\n有任何Bug或建议欢迎提issue或pull request，或者直接 [反馈给我](y837979117@gmail.com).\n\n## License\n\nApache 2.0\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhataa%2FSuitLines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhataa%2FSuitLines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhataa%2FSuitLines/lists"}