MPAndroidChart bar宽度固定且可左右滑动

来源:互联网 发布:不要说的秘密知乎 编辑:程序博客网 时间:2024/05/18 01:47

如果想实现左右滑动首先要用到的一个API是:

refresh(Matrix newMatrix, View chart, boolean invalidate)

如果想让它左右移动需要设置它的横向缩放相应的比例:

Matrix m = new Matrix();m.postScale(scaleX, 1f);//两个参数分别是x,y轴的缩放比例。例如:将x轴的数据放大为之前的1.5倍mChart.getViewPortHandler().refresh(m, mChart, false);//将图表动画显示之前进行缩放

如果你的bar的个数是固定的话,做完上面的就可以完成了,但是如果bar的个数不固定,比如你在30个bar的时候是正好的大小,如果你的个数突然变成了10个,bar柱形图就会变得非常宽。 这个时候你就需要设置一下它的比例,我的思路是选取一个正好的比例值,然后以这个比例为基数进行设置:

private void setChartData(){    Matrix m = new Matrix();    m.postScale(scaleNum(20), 1f);//两个参数分别是x,y轴的缩放比例。例如:将x轴的数据放大为之前的1.5倍    mChart.getViewPortHandler().refresh(m, mChart, false);//将图表动画显示之前进行缩放}//30个横坐标时,缩放4f是正好的。private float scalePercent = 4f/30f;private float scaleNum(int xCount){    return xCount * scalePercent;}

这样就基本可以以bar的固定宽度操作左右滑动了。

1 0
原创粉丝点击