MPAndroidChart的详细使用——高亮

上一篇讲了图表的交互以及监听的回调,这篇我们讲一下图表的高亮!

上一篇:MPAndroidChart的详细使用——图表的交互
下一篇:MPAndroidChart的详细使用——坐标轴(X轴、Y轴、零线)web

1、开启 / 关闭图表的高亮显示
setHighlightPerDragEnabled(boolean enabled) 设置为true时容许在图表缩到最小时,每次拖动都会高亮显示。默认值:true
setHighlightPerTapEnabled(boolean enabled) 设置为false时防止经过点击手势高亮显示,但仍能够经过拖动或代码设置方式高亮显示。默认值:true
setMaxHighlightDistance(float distanceDp) 设置最大点击高亮距离。在图表上点击时,超过此距离就不会触发高亮显示。默认:500 dp

除此以外,高亮显示还能够自定义:数组

dataSet.setHighlightEnabled(true); 是否容许突出显示数据集
dataSet.setDrawHighlightIndicators(true); 是否有高亮指示器
dataSet.setHighlightColor(Color.BLACK); 设置高亮的颜色
2、用代码的形式显示高亮
highlightValue(float x, int dataSetIndex, boolean callListener) 经过给的在dataset中的x位置,去高亮数据。dataSetIndex给-1时,将会禁止一切高亮,布尔值的callListener标识是否容许监听回调
highlightValue(Highlight high, boolean callListener) 突出显示所提供的值。Highlight对象。提供NULL以撤消全部突出显示。布尔标志决定选择侦听器是否应该被调用。
highlightValues(Highlight[] highs) 高亮显示Highlight[]中的数据。提供null或空数组来撤消全部突出显示。
getHighlighted() 返回Highlight[]数组,该数组包含关于全部高亮显示的条目、在x的位置和DataSet中的位置。
3、回调

OnChartValueSelectedListener,用于经过触摸高亮显示值时的回调,只须要实现接口而且将其设置为图表的监听器就行bash

public interface OnChartValueSelectedListener {
    
    //选中一处高亮时的回调
    public void onValueSelected(Entry e, Highlight h);
   
    //没有选中时的回调
    public void onNothingSelected();
}
4、高亮类

高亮类表示与高亮的Entry,例如突出显示的Entry对象自己,它在绘图表面的位置等等。能够用来获取关于已经高亮显示的信息。或用于向图表或Entry对数据高亮。
直接看实例:svg

//标准的高亮构造函数
 public Highlight(float x, int dataSetIndex) { ... }

 //给柱状图(条形图)使用的高亮构造函数
 public Highlight(float x, int dataSetIndex, int stackIndex) { ... }
5、自定义高亮

setHighlighter(ChartHighlighter highlighter)把你自定义的高亮类传入便可实现自定义高亮函数