基于MPAndroidChart的自定义LineChart(二)----添加单击事件的处理

本文介绍如何基于MPAndroidChart为LineChart添加单击事件处理,包括使用OnChartGestureListener和OnChartValueSelectedListener接口,实现图表数据的动态更新和重绘。
摘要由CSDN通过智能技术生成

上一篇文章基于MPAndroidChart的自定义LineChart(一)—-节点绘制叉号+分段绘制背景中添加了节点绘制叉号+分段绘制背景的功能,这篇文章继续改造,给MPAndroidChart的LineChart单击事件做一些处理,让图表能跟响应单击操作,改变数据重绘图表。

效果如下:

每次单击图表,对应的数据都会改变,图表也会重新绘制

功能实现

由于MPAndroiChart只支持缩放、拖动(平移)、选择等手势,但这些手图表的数据没有什么改变,如果我们需要在图标上根据手势修改数据,继而重绘图表,就需要自己处理了。好在MPAndroiChart为我们提供了OnChartGestureListener和OnChartValueSelectedListener两个接口供我们处理手势。

OnChartGestureListener

public interface OnChartGestureListener {
   

    void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);

    void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);

    void onChartLongPressed(MotionEvent me);

    void onChartDoubleTapped(MotionEvent me);

    void onChartSingleTapped(MotionEvent me);

    void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY);

    void onChartScale(MotionEvent me, float scaleX, float scaleY);

    void onChartTranslate(MotionEvent me, float dX, float dY);
}

从方法名就能看出在什么时候背调用了

OnChartValueSelectedListener

public interface OnChartValueSelectedListener {
   

    void onValueSelected(Entry e, Highlight h);

    void onNothingSelected();
}

onValueSelected是图表中的某一个值被选择后被调用,但是并不是说一定要点在节点的圆环那里才会被选中,而是把图表分为一段一段,如下图所示:


点击整列的任何位置都会调用onValueSelected方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值