在X轴下以相同高度显示标记视图,无论值是多少?使用MPAndroidChart
目前使用MPAndroidChart,我想知道是否有办法在x轴下显示markerview,并且始终在相同的高度 例如,在下图中:在X轴下以相同高度显示标记视图,无论值是多少?使用MPAndroidChart,android,mpandroidchart,Android,Mpandroidchart,目前使用MPAndroidChart,我想知道是否有办法在x轴下显示markerview,并且始终在相同的高度 例如,在下图中: 我希望显示x轴后面的markerview,就在相应的值栏下面。我成功地创建了自己的自定义标记视图,但它的显示位置似乎链接到了相应栏的顶部,因此我有点卡住了。提前感谢。我终于找到了解决此问题的简单方法 在这种情况下,您需要覆盖自定义MarkerView的draw方法 在这里,我可以控制我的x位置,同时确保标记始终保持在图形的顶部(如果不需要,请使用posy+=getY
我希望显示x轴后面的markerview,就在相应的值栏下面。我成功地创建了自己的自定义标记视图,但它的显示位置似乎链接到了相应栏的顶部,因此我有点卡住了。提前感谢。我终于找到了解决此问题的简单方法 在这种情况下,您需要
覆盖自定义MarkerView
的draw
方法
在这里,我可以控制我的x位置,同时确保标记始终保持在图形的顶部(如果不需要,请使用posy+=getYOffset();
)
因此,这允许我将我的MarkerView
保持在图形上方(最后,它比下面的:D更好),同时通过控制posx
变量避免它的一部分在屏幕边缘消失
一个简单的例子:
@Override
public void draw(Canvas canvas, float posx, float posy)
{
// take offsets into consideration
posx += getXOffset();
posy=0;
// AVOID RIGHT/LEFT OFFSCREEN
if(posx<45)
posx=45;
if(posx>265)
posx=265;
// translate to the correct position and draw
canvas.translate(posx, posy);
draw(canvas);
canvas.translate(-posx, -posy);
}
@覆盖
公共虚空绘制(画布、浮标posx、浮标posy)
{
//考虑抵消
posx+=getXOffset();
posy=0;
//避免屏幕右/左
如果(posx265)
posx=265;
//平移到正确的位置并绘制
canvas.translate(posx,posy);
绘画(画布);
canvas.translate(-posx,-posy);
}
我通过覆盖自定义MarkerView
的draw
方法解决了这个问题
在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);
}