如何在MPAndroidChart中创建可拖动的LimitLine

时间:2015-08-21 08:41:02

标签: android mpandroidchart

我已设法使用MP Android Chart创建折线图,并希望创建一个可拖动的线来设置限制。因此,如果值超过线值,则用户会收到警报。我的用例类似于Android系统数据使用限制。

我遇到了LimitLines - https://github.com/PhilJay/MPAndroidChart/wiki/The-Axis并使用触摸事件回调拖动https://github.com/PhilJay/MPAndroidChart/wiki/Interaction-with-the-Chart

我的问题是我是否可以动态地在对translate(onChartTranslate)事件的响应上添加限制线,以便我可以模拟限制设置?这比尝试重载MarkerView更好吗?

1 个答案:

答案 0 :(得分:0)

我设法通过使用 temp 侦听拖动事件的开始和结束来创建可拖动(水平)LimitLine

OnChartGestureListener

和一个 chart.onChartGestureListener = object: OnChartGestureListener { override fun onChartGestureEnd(me: MotionEvent?, lastPerformedGesture: ChartTouchListener.ChartGesture?) { if (lastPerformedGesture == ChartTouchListener.ChartGesture.DRAG && limitLineDragEnabled) { me?.let { displayLimitLine(me) } limitLineDragEnabled = false } } override fun onChartLongPressed(me: MotionEvent?) { if (binding.chart.isFullyZoomedOut) { limitLineDragEnabled = true me?.let { displayLimitLine(me) } } } } 在拖动开始和结束之间捕捉 ChartTouchListener(遗憾的是,MotionEvents 无法帮助我):

OnChartGestureListener