一款轻量级android图表组件SimpleChart-Kotlin
一款轻量级android图表组件SimpleChart-Kotlin
- 效果演示
- 引入方式
- gradle导入
- 源码导入
- 使用方式
- 布局文件
- 设置数据
- 事件监听
- 配置项
- 所有图表均具备的配置项
- 柱状图
- 折线图
- 饼图
- 项目地址
效果演示
引入方式
gradle导入
在更目录中的build.gradle添加 JitPack仓库
allprojects {repositories {...maven { url 'https://jitpack.io' }} }
以上是官方提供的添加仓库方法,实测在较新的gradle版本中此方式无法成功生效,而是需要在settings.gradle中添加:
dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {...maven { url 'https://jitpack.io' }} }
添加依赖
dependencies {implementation 'com.github.EnthuDai:SimpleChart-Kotlin:1.0.7' }
PS: 发布一个kotlin的android library到jitpack的过程极为艰难,尤其是在使用较新版本的gradle时,大家如果遇到问题,可以参考一下这篇文章
kotlin android library 发布至jitpack问题及解决方式记载
源码导入
下载该项目源码
git clone https://github.com/EnthuDai/SimpleChart-Kotlin.git
在需要使用该库的项目中通过文件导入此模块
在app的build.gradle的依赖中添加此库
dependencies {...implementation project(':chart') }
使用方式
布局文件
<com.poemdistance.chart.BarChartandroid:id="@+id/barChart"android:layout_width="0dp"android:layout_height="300dp"app:title="柱状图"app:xAxis="staDate"app:yAxis="profit"app:yAxisDesc="入账收益"/>
设置数据
数据设置的方式非常简单,支持直接传入JSON数组字符串,或传入List< Any>形式的对象集合。所有类型图表均支持这两种方式的数据传入。JSON数组字符串的导入代码如下:
val jsonData = """[{"staDate":"01-09","profit":235,"activeOrderCount":36},{"staDate":"01-08","profit":244,"activeOrderCount":33},{"staDate":"01-07","profit":159,"activeOrderCount":29},{"staDate":"01-06","profit":452,"activeOrderCount":48},{"staDate":"01-05","profit":116,"activeOrderCount":19},{"staDate":"01-04","profit":131,"activeOrderCount":22},{"staDate":"01-03","profit":345,"activeOrderCount":32},{"staDate":"01-02","profit":277,"activeOrderCount":35},{"staDate":"01-01","profit":206,"activeOrderCount":28}]""".trimIndent()
barChart.updateData(jsonData) // barChart为该图表的实例
事件监听
监听用户当前触摸的数据项
// 监听触摸事件,将获得Json字符串形式的当前触控数据,当触控点从图表移开时返回null
barChart.listener = {it?.let{Log.d(LOG_TAG, it)}
}
配置项
所有图表均具备的配置项
属性名 | 类型 | 默认值 | 含义 |
---|---|---|---|
title | String | 图表标题 | |
animation | Boolean | True | 是否开启加载动画 |
animationDuration | Int | 500 | 加载动画时长 |
showLegend | Boolean | 自动(单维度数据时不显示) | 是否显示图例 |
柱状图
属性名 | 类型 | 默认值 | 含义 | 是否必填 |
---|---|---|---|---|
xAxis | String | x轴数据的参数名 | 是 | |
yAxis | String | y轴数据的参数名 | 是 | |
yAxisDesc | String | yAxis值 | 描述y轴数据项的参数名 | 否 |
折线图
属性名 | 类型 | 默认值 | 含义 | 是否必填 |
---|---|---|---|---|
xAxis | String | x轴数据的参数名 | 是 | |
yAxis | String | y轴数据的参数名,支持多个,用“,”分隔 | 是 | |
yAxisDesc | String | yAxis值 | 描述y轴数据项的参数名,支持多个,用“,”分隔 | 否 |
饼图
属性名 | 类型 | 默认值 | 含义 | 是否必填 |
---|---|---|---|---|
name | String | 数据项的展示参数名 | 是 | |
value | String | 数据项的值参数名 | 是 |
项目地址
GitHub https://github.com/EnthuDai/SimpleChart-Kotlin
一款轻量级android图表组件SimpleChart-Kotlin相关推荐
- 安豆苗:轻量级Android手机管理工具
安豆苗是一款轻量级Android手机管理软件,该软件以方便易用为设计目标,同时兼顾一些基础管理功能.其最大的优势是无需数据线,只需利用电脑端的Web浏览器,即可实现手机端资料和应用程序管理功能.其中一 ...
- Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)
Android开发是目前最热门的移动开发技术之一,随着开发者的不断努力和Android社区的进步,Android开发技术已经日趋成熟,当然,在Android开源社区中也涌现了很多不错的开源UI项目,它 ...
- android开发常用的组件,7款Android开发者常用的Android UI组件
关注微信号:javalearns 随时随地学Java 或扫一扫 随时随地学Java Android开发是目前最热门的移动开发技术之一,随着开发者的不断努力和Android社区的进步,Android ...
- 推荐几款比较好的图表组件
** ECharts ** ECharts是一款开源数据可视化图表产品,支持的图表比较多, 提供商业产品常用图表,底层基于ZRender(一个轻量级canvas图表类库),创建了坐标系,图例,提示,工 ...
- 一款轻量级的桌面WebServer通讯组件
作者:肖波 个人博客:http://blog.csdn.net/eaglet ; http://www.cnblogs.com/eaglet 2007/7 南京 背景 随着互联网的不断发展,传统的We ...
- android开源组件化框架,轻量级Android组件化协议框架 – Android-Route...
Android-Router 高性能,灵活,简单易用的轻量级Android组件化协议框架,用来解决复杂工程的互相依赖,解耦出的单个模块有利于独立开发和维护. 目标 工程解耦 模块独立开发独立维护 让生 ...
- android前端代码编辑器,前端程序员福利,6款轻量级富文本编辑器
原标题:前端程序员福利,6款轻量级富文本编辑器 1.国产富文本编辑wangEditor 基于java和css开发的 Web富文本编辑器, 轻量.简洁.易用.开源免费,样式可自定义,菜单栏可以自定义配置 ...
- LightningChart为外汇和外汇衍生品交易商提供轻量级图表组件
今天,我在这里介绍一下Arction的LightningChart图表控件在外汇和外汇衍生品交易中的应用. FXVolQuant作为外汇交易商的前沿数据驱动平台,由kuma.capital开发和维护, ...
- Kotlin第七章: Android四大组件
1. 四大组件 四大组件是每一个Android人必须要会,要掌握的知识点,因为他们是我们在日常开发工作中打交道最频繁的组件,而且他们四个在不同的领域扮演着极其重要的角色. Activity: 负责用户 ...
- Android 开源组件和第三方库汇总
出自(https://github.com/Tim9Liu9/TimLiu-Android) TimLiu-Android 自己总结的Android开源项目及库. 1. github排名 https: ...
最新文章
- 关于table边框,设置了border-collapse:collapse之后,设置border-radius没效果
- 中文名称:程序员杂志2007精华本及附赠DVD光盘
- 硬件基础知识--(10)三极管的工作原理
- JS 初级 二(接上)
- IE改善七大手法| ECRS工时分析软件
- 人用药品注册技术规定国际协调会议(ICH)
- 计算机英语教学设计,英语教学设计doc范文精选
- java程序猿面试问缺点怎么回答_当程序员面试被问“你的缺点是什么?”你该怎么回答?...
- FPGA开平方的实现(三种方法)
- win7如何设置通电自动开机_win7系统设置自动开机
- 高山仰止,景行行止。虽不能至,然心向往之。
- Chapter 8 Part-of-Speech Tagging
- 腾讯QQ被盗的形式及密码保护技巧(转)
- linux vim粘贴快捷键设置,vim粘贴模式快捷方式
- git第一次提交代码至远程仓库
- 国产最强?室友用了直呼牛逼
- 山东 计算机专业,山东省内计算机专业大学排名?
- 你也可以看懂,量子力学的困惑,测不准原理 薛定谔的猫 !
- 3344avd_AVD生根
- Bert算法:语言模型-BERT详细介绍