android MPDroidChart标记在右侧或左侧屏幕中被剪切

sgtfey8w  于 2022-12-25  发布在  Android
关注(0)|答案(3)|浏览(223)

如何设置边距或识别标记显示在屏幕右侧还是左侧,导致我标记在屏幕右侧或左侧显示时被切断。

我想像下面的图像,如果我点击左边或右边的值不像上面的图像切断

camsedfj

camsedfj1#

我知道这是一个老问题,但是对于像我这样挣扎的人来说,你可以使用lineChart.setViewPortOffsets(...)方法来处理填充。(记住,你还需要更新图表的边距,这样它就不会缩小)

pes8fvy9

pes8fvy92#

尝试设置图表类的边距
通过使用

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        layoutParams.setMargins(left,top,right,bottom);
        charId.setLayoutParams(layoutParams);

   android:layout_marginStart="20dp"
   android:layout_marginEnd="20dp"
hrysbysz

hrysbysz3#

您需要覆盖MarkerViewgetOffsetForDrawingAtPoint()并使用chartView.width计算标记位置。您需要在计算前将图表视图设置为MarkerView.chartView
对我很有效-

override fun getOffsetForDrawingAtPoint(posX: Float, posY: Float): MPPointF {
    if (posX > chartView.width - width) {
        offset.x = (-width).toFloat()
    } else {
        offset.x = (-(width / 2)).toFloat()
    }

    offset.y = -(height / 2).toFloat()

    return offset
}

相关问题