目前使用MPAndroidChart,我很想知道是否有办法在x轴下显示标记视图,并始终保持相同的高度。
如下图所示:
我希望在相应的数值栏下显示标记视图与x轴相同的颜色。我成功制作了自己的自定义标记视图,但其显示位置似乎与相应栏的顶部相关联,所以我有点卡住了。先谢谢。
答案 0 :(得分:1)
我终于找到了解决这个问题的简单方法。
在这种情况下,您需要Override
自定义draw
的{{1}}方法。
在这里,我可以控制我的x位置,同时确保标记始终位于图表的顶部(如果您不想要它,请改用MarkerView
)
所以这允许我将我的posy += getYOffset();
保持在我的图表之上(最后,它比下面更好:D),同时通过控制{{避免让它的一部分在屏幕边缘消失1}}变量。
一个简单的例子:
MarkerView
答案 1 :(得分:0)
我已经通过自定义 Override
的 draw
MarkerView
方法解决了这个问题。
只需在 dy = 0
中执行 canvas.translate(float dx, float dy)
@Override
public void draw(Canvas canvas, float posX, float posY) {
MPPointF offset = getOffsetForDrawingAtPoint(posX, posY);
int saveId = canvas.save();
// translate to the correct position and draw
canvas.translate(posX + offset.x, 0);
draw(canvas);
canvas.restoreToCount(saveId);
}