MPAndroidChart的详细使用——高亮

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

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

一、开启 / 关闭图表的高亮显示
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); 设置高亮的颜色
二、用代码的形式显示高亮
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中的位置。
三、回调

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

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

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

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

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

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

发布了21 篇原创文章 · 获赞 53 · 访问量 7625

猜你喜欢

转载自blog.csdn.net/qq_44720366/article/details/104700095