MPAndroidChart:如何实现缩放Asix X和缩放在滚动运行时不起作用

时间:2016-04-15 15:41:02

标签: android charts mpandroidchart

我正在使用MpChartAndroid库2.2.4,我有一个" CombinedChart" 100 x值(chartXVals)和VisibleXRangeMaximum是30.当我绘制条目时强制滚动到最后一个X:

int indexXVal = chartXVals.size() - 1
this.mChart.setVisibleXRangeMaximum(30);
this.mChart.moveViewToX(indexXVal);
this.mChart.setScaleYEnabled(false);
this.mChart.setScaleXEnabled(true);

第一个问题 - 我有两个按钮可放大/缩小图表的Asix X.不幸的是,方法 zoomIn / zoomOut 从Asix X和Asix Y的视口图表中心进行缩放,然后忽略setScaleYEnabled(false)。 我试过了:

float factorScaleX = 1.4 —>  zoom in
float factorScaleX = 0.7 —>  zoom out

PointF center = this.getChart().getViewPortHandler().getContentCenter();
this.getChart().zoom(factorScaleX, 1f, center.x, 0f);

你有另一种解决方案吗?

第二个问题 - 当我滚动图表时,默认为mDragDecelerationEnabled = true

问题是当滚动操作正在运行时,如果我执行 zoomIn / zoomOut 方法,则缩放不会运行。滚动完成后,缩放工作。 我注意到这种行为在侦听器onChartTranslate的{​​{1}}方法中进行打印登录。

我该如何解决?

由于

0 个答案:

没有答案