如何解决LineChart MarkerView 在图形上拖动时消失,当我释放拖动时又出现
LineChart (MpAndroidChart Library) 的 MarkerView 消失了,当我开始在图形上拖动时,一旦我松开拖动,它就会再次出现。
我需要将突出显示条目(带有标记的垂直突出显示线)保持在图形上的固定位置。 当我们移动/拖动图形时,图形线应该只移动。 高亮线和标记应始终处于同一位置且位置更新。
检查了多个论坛,但仍未找到任何解决方案。
以下是代码供参考,
CustomMarkerView 类:
class CustomMarkerView(context: Context,layoutResourceId: Int) : MarkerView(context,layoutResourceId) {
private var xPOS = 0f
override fun getOffset(): MPPointF {
return MPPointF.getInstance(-(width/2).toFloat(),- (height / 2).toFloat())
}
override fun draw(canvas: Canvas,posX: Float,posY: Float) {
if(xPOS == 0f ){
xPOS = posX
}
super.draw(canvas,xPOS,posY)
}}
和下面的片段内的代码 -
// 设置折线图数据
lineChart.run {
data = uiModel.lineData
notifyDataSetChanged()
setVisibleXRangeMaximum(xAxisIntervals.toFloat())
}
// 移动折线图并设置高亮入口
lineChart.run {
moveViewToX(xPos)
highlightValue(HighlightEntry.x,dataSetIndex = 1)
}
其中 xPos 只不过是 (Highlighted.x - fixedXIntervals)
此外,实现了 OnChartGestureListener() 并使用 onChartTranslate() 将索引发送到片段
override fun onChartTranslate(me: MotionEvent?,dX: Float,dY: Float) {
graphListener.notifyOnGraphScrolled(lineChart.lowestVisibleX.toInt())
}
知道如何在不消失的情况下更平滑地移动标记视图吗?
感谢您的快速帮助。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。