2013-06-01 42 views
1

首先我給我下面的視圖秀。並給出一些解釋:enter image description hereAndroid AChartEngine graphicalView分享事件

在我的ViewGroup中我有兩個GraphicalView,它們每個共享相同的大小空間。我們只需將圖表上方的圖表稱爲chartA和下方的圖表B.

然後我有一些問題:

  1. 如果我做出的舉動在憲章運動,我怎麼可能讓chartB只是作爲移動我的手指移動的chartB?
  2. 如果我捏在chartA也可以chartB更改auto?
  3. 我想添加一些回調函數的一些點? ACE支持這個嗎?
  4. 我不想在用戶捏時顯示數字爲負數,我該如何表達這一點?

最後是我的圖表代碼:

mDataset.addSeries(series); 
PointStyle style = PointStyle.CIRCLE; 
renderer = buildRenderer(lineColor, style, true); 
setChartSettings(renderer, "X", "Y", 0, 50, yMin, yMax, Color.WHITE, 
       Color.WHITE, title,chartColor); 
GraphicalView chart = ChartFactory.getLineChartView(context, mDataset, renderer); 
layout.addView(chart, new LayoutParams(LayoutParams.MATCH_PARENT, 
             LayoutParams.MATCH_PARENT)); 
HashMap map = new HashMap(); 

和渲染:

protected XYMultipleSeriesRenderer buildRenderer(int color, 
               PointStyle style, 
               boolean fill) { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 

    XYSeriesRenderer r = new XYSeriesRenderer(); 
    r.setColor(color); 
    r.setPointStyle(style); 
    r.setFillPoints(fill); 
    r.setLineWidth(3); 
    renderer.addSeriesRenderer(r); 
    return renderer; 
} 

我隨機所有我想要的數據。

回答

1
  1. 您必須對您的chartA和每一個panApplied事件註冊PanListener,只是做:rendererB.setXAxisMin(rendererA.getXAxisMin());與同爲最大X和Y軸,然後調用chartB.repaint();
  2. 同上,只是你需要添加一個ZoomListener
  3. 您可以設置一個點擊監聽器:chartA.setOnClickListener();
  4. 請重新配置爲一個單獨的問題。

此外,請參閱this代碼,向您展示如何使用上述API。