我有一个TimeChart,我试图在变化时保存变焦率。 因此,我将ZoomListener添加到我的图表中:
public void showChart()
{
mChartView = ChartFactory.getTimeChartView(this.context, this.mDataset,
this.mRenderer, TrackedValue.DATE_FORMAT_USER);
this.layout.addView(mChartView);
mChartView.setZoomRate(prefs.getChartZoomRate());
Log.d("showChart", "Set: "+prefs.getChartZoomRate());
mChartView.addZoomListener(new ZoomListener() {
@Override
public void zoomReset() {
// TODO Auto-generated method stub
}
@Override
public void zoomApplied(ZoomEvent e) {
prefs.setChartZoomRate(e.getZoomRate());
Log.d("zoomApplied", "Save: "+String.valueOf(e.getZoomRate()+", isZoomIn: "+e.isZoomIn()));
}
}, true, true);
}
当我看到图表并按下放大按钮时,我的日志输出为:
zoomApplied Save: 1.5, isZoomIn: true
当我缩小(通过缩放按钮)时,日志输出为:
zoomApplied Save 1.5, isZoomIn: false
无论我放大或缩小的频率如何,我都不明白为什么e.getZoomRate()总是返回1.5,无论实际缩放率是多少...... e.isZoomIn()工作正常。
有什么想法吗?
答案 0 :(得分:0)
我刚刚尝试了AChartEngine演示程序并调用了下面的行,它显示了正确的1.2值:
mChartView.setZoomRate(1.2f);
请确保您设置的值正确。