MPAndroidChartAndroid知识Android开发

MPAndroidChart中文翻译(三高亮显示)

2016-10-11  本文已影响771人  鹿小纯0831

本节的重点是高亮显示图表条目,在发布的3.0.0版本中通过点击手势和编程可以实现该目的。

启用/禁用高亮显示
dataSet.setHighlightEnabled(true); // allow highlighting for DataSet 
// set this to false to disable the drawing of highlight indicator (lines) 
dataSet.setDrawHighlightIndicators(true); 
dataSet.setHighlightColor(Color.BLACK); // color for highlight indicator 
// and more...
高亮编程
选择回调

这个库提供了许多交互时回调函数的监听器。其中一个是OnChartValueSelectedListener,当触摸引发高亮显示时回调:

public interface OnChartValueSelectedListener { 
      /** 
       * Called when a value has been selected inside the chart. 
       * @param e The selected Entry.
       * @param h The corresponding highlight object that contains information
       * about the highlighted position 
       */ 
      public void onValueSelected(Entry e, Highlight h); 
      /** 
       * Called when nothing has been selected or an "un-select" has been made. 
       */ 
      public void onNothingSelected();
}

接下来就是实现这个接口和回调函数:

chart.setOnChartValueSelectedListener(this);
Highlight类

Highlight类代表与高亮显示的条目相关联的所有数据,比如高亮显示的Entry对象本身,它从属于的DataSet,它在绘图表面上的位置等等。它可以用来获取已经高亮显示的条目的相关信息,或用于提供信息图表的一个条目被高亮显示。对于这个目的,强调类提供了两个构造函数:

/** constructor for standard highlight */
 public Highlight(float x, int dataSetIndex) { ... } 
/** constructor for stacked BarEntry highlight */ 
public Highlight(float x, int dataSetIndex, int stackIndex) { ... }

可以使用这些构造函数创建一个Highlight对象,允许以编程方式表现高亮:

// highlight the entry and x-position 50 in the first (0) 
DataSetHighlight highlight = new Highlight(50f, 0); 
chart.highlightValue(highlight, false); // highlight this value, don't call listener
定制的萤光笔

所有高亮手势形式的用户输入由默认的ChartHighlighter类内部处理。想要自定义一个荧光笔来替换默认的萤光笔,可以通过以下方法来实现:

上一篇下一篇

猜你喜欢

热点阅读