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(…)方法來使用標註數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章