achartengine:getZoomRate总是返回1.5?

时间:2012-09-13 15:16:05

标签: android charts zooming achartengine

我有一个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()工作正常。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我刚刚尝试了AChartEngine演示程序并调用了下面的行,它显示了正确的1.2值:

  mChartView.setZoomRate(1.2f);

请确保您设置的值正确。