MarkerView正在切断图表右侧的值

时间:2018-06-18 06:11:44

标签: java android linechart

使用Markerview在触摸图表时显示图表上的值。但是当它触摸到图表的右侧时,它会超出屏幕。当它在左侧触摸时,它不会超出但它的箭头没有指向图形上的正确值。我正在使用mpchart Android库。

这是我自定义的Markerview类xymarkerview.java

public class XYMarkerView extends MarkerView {

private TextView tvContent;
private IAxisValueFormatter xAxisValueFormatter;

private DecimalFormat format;

public XYMarkerView(Context context, IAxisValueFormatter xAxisValueFormatter) 
{
    super(context, R.layout.custom_marker_view);

    this.xAxisValueFormatter = xAxisValueFormatter;
    tvContent = findViewById(R.id.tvContent);
    format = new DecimalFormat("###.0");
}

// callbacks everytime the MarkerView is redrawn, can be used to update the
// content (user-interface)
@Override
public void refreshContent(Entry e, Highlight highlight) {


    tvContent.setText(format.format(e.getY()));

    super.refreshContent(e, highlight);
}


@Override
public MPPointF getOffset() {
    return new MPPointF(-(getWidth() / 2), -getHeight());
}



}

这是我的customXYmarker.xml

<TextView
    android:id="@+id/tvContent"
    android:layout_width="70dp"
    android:layout_height="40dp"
    android:background="@drawable/bg_rectangle"
    android:padding="8dp"
    android:textStyle="bold"
    android:textColor="#ffffff"
    android:text=""
    />


<ImageView
    android:id="@+id/image_arrow"
    android:layout_marginTop="-1.5dp"
    android:layout_width="16dp"
    android:layout_height="16dp"
    android:layout_marginLeft="27dp"
    android:background="@drawable/icon_arrow_down"
    />

左侧标记问题: enter image description here

右侧标记问题 enter image description here

它在中心值上完美运行,但在最左侧或最右侧的值上无法正常工作。

0 个答案:

没有答案