在X轴下显示标记视图,无论值是什么,都在同一高度?使用MPAndroidChart

时间:2015-09-29 07:57:09

标签: android mpandroidchart

目前使用MPAndroidChart,我很想知道是否有办法在x轴下显示标记视图,并始终保持相同的高度。

如下图所示:

enter image description here

我希望在相应的数值栏下显示标记视图与x轴相同的颜色。我成功制作了自己的自定义标记视图,但其显示位置似乎与相应栏的顶部相关联,所以我有点卡住了。先谢谢。

2 个答案:

答案 0 :(得分:1)

我终于找到了解决这个问题的简单方法。

在这种情况下,您需要Override自定义draw的{​​{1}}方法。

在这里,我可以控制我的x位置,同时确保标记始终位于图表的顶部(如果您不想要它,请改用MarkerView

所以这允许我将我的posy += getYOffset();保持在我的图表之上(最后,它比下面更好:D),同时通过控制{{避免让它的一部分在屏幕边缘消失1}}变量。

一个简单的例子:

MarkerView

答案 1 :(得分:0)

我已经通过自定义 Overridedraw 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);
}