我有一个 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() 工作正常。
有任何想法吗?