一款轻量级android图表组件SimpleChart-Kotlin

效果演示

基础效果演示

引入方式

gradle导入

  1. 在更目录中的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' }
     }
    }
    
  2. 添加依赖

    dependencies {
        implementation 'com.github.EnthuDai:SimpleChart-Kotlin:1.0.7'
    }	
    

PS: 发布一个kotlin的android library到jitpack的过程极为艰难,尤其是在使用较新版本的gradle时,大家如果遇到问题,可以参考一下这篇文章

kotlin android library 发布至jitpack问题及解决方式记载

源码导入

  1. 下载该项目源码

    git clone https://github.com/EnthuDai/SimpleChart-Kotlin.git
    
  2. 在需要使用该库的项目中通过文件导入此模块
    导入模块步骤1
    导入模块步骤二,选择上一步中下载项目的chart文件夹

  3. 在app的build.gradle的依赖中添加此库

    dependencies {
    
    	...
    
     implementation project(':chart')
    }
    

使用方式

布局文件

<com.poemdistance.chart.BarChart
        android: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)
	}
}

配置项

所有图表均具备的配置项

属性名类型默认值含义
titleString图表标题
animationBooleanTrue是否开启加载动画
animationDurationInt500加载动画时长
showLegendBoolean自动(单维度数据时不显示)是否显示图例

柱状图

属性名类型默认值含义是否必填
xAxisStringx轴数据的参数名
yAxisStringy轴数据的参数名
yAxisDescStringyAxis值描述y轴数据项的参数名

折线图

属性名类型默认值含义是否必填
xAxisStringx轴数据的参数名
yAxisStringy轴数据的参数名,支持多个,用“,”分隔
yAxisDescStringyAxis值描述y轴数据项的参数名,支持多个,用“,”分隔

饼图

属性名类型默认值含义是否必填
nameString数据项的展示参数名
valueString数据项的值参数名

项目地址

GitHub https://github.com/EnthuDai/SimpleChart-Kotlin

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值