MPAndroidChart的详细使用——MarkerView

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

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

创建一个类去实现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);

获取已经存在的IMarker

IMarker marker = chart.getMarker();
预设的IMarker
MarkerView 允许加载一个layout去展示对应的标注,继承这个类并重写refreshContent(…)方法来使用标注数据
MarkerImage 允许加载一张图片在标注上显示对应的图片,继承这个类并重写refreshContent(…)方法来使用标注数据
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章