MPAndroidChart的详细使用——MarkerView

iMarker接口能够实现自定义高亮显示标记的视图

上一篇:MPAndroidChart的详细使用——动画
下一篇:MPAndroidChart的详细使用——ChartData类以及ChartData子类web

建立一个类去实现IMarker接口
public class YourMarkerView extends MarkerView {

    private TextView tvContent;

    public MyMarkerView(Context context, int layoutResource) {
        super(context, layoutResource);

        // find your layout components
        tvContent = (TextView) findViewById(R.id.tvContent);
    }

    // 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("" + e.getY());

        // this will perform necessary layouting
        super.refreshContent(e, highlight);
    }

    private MPPointF mOffset; 

    @Override
    public MPPointF getOffset() {

        if(mOffset == null) {
           // center the marker horizontally and vertically
           mOffset = new MPPointF(-(getWidth() / 2), -getHeight());
        }

        return mOffset;
    }
}
获取IMarker 对象以及使用
IMarker marker = new YourMarkerView();
chart.setMarker(marker);

获取已经存在的IMarkerbash

IMarker marker = chart.getMarker();
预设的IMarker
MarkerView 容许加载一个layout去展现对应的标注,继承这个类并重写refreshContent(…)方法来使用标注数据
MarkerImage 容许加载一张图片在标注上显示对应的图片,继承这个类并重写refreshContent(…)方法来使用标注数据