前段时间,做图表选择了MPAndroidChart,经过一段时间的研究,终于完成了,当然里面肯定没那么完美。但是由于还有其他的事情就先放了一下。最近安排的事情忙完了,自己发现MarkerView实现的标签,有偏移问题。实在是看不下去了今天就来解决一下子。
首先,我在查找了很多文章之后,了解到MarkerView中存在偏移量的问题。
在代码中设置MarkerView:
MPChartMarkerView markerView = new MPChartMarkerView(lineChart.getContext(), R.layout.custom_marker_view); markerView.setChartView(lineChart); lineChart.setMarker(markerView);//设置 marker ,点击后显示的功能 ,布局可以自定义
其中,MPChartMarkerView是自定义的,继承了MarkerView。并且实现了里面部分方法。其中有几个方法要着重了解一下:
draw(),就是去画你自定义的MarkerView的内容,posX,posY,就是画在指定的点。
refreshContent(),顾名思义,就是刷新MarkerView的内容。传了两个参数,一个是Entry,一个是Highlight,可以知道,这个与Highlight有密切的关系。也就是说,只有在选择了一个Entry高亮显示了,才会画出这个刷新画出MarkerView。
getOffsetForDrawingAtPoint(),与画的点的位置有关系,一个偏移量
ge