2013-04-09 33 views
1

我的應用程序在一個ViewPager有幾個Fragment秒。一個片段包含一個ChartView,並且當用戶刷到移動到相鄰的片段的圖表被重繪和擠壓而不是在原始寬度停留正如所預期的。這也是垂直髮生在ScrollView內部。ChartView被擠壓/變形ViewPager /滾動型

下面是片段與片段截圖時,它的刷卡。

ChartViewFrameLayout內如果有什麼差別。所述FrameLayout的寬度被設定爲fill_parent。該FrameLayout實際上是子類,並ChartView的編程方式添加,就像這樣:

public FrameLayoutSubclass(Context context, AttributeSet attributeSet) 
{ 
    super(context, attributeSet); 

    ... 

    chartView = new GraphicalView(context, chart); 
    addView(chartView); 
} 

我如何能保持在圖表它的原始尺寸,因爲它在和淡出視野獲取滾動任何想法?

原始圖表:

Original chart

壓縮圖:

Squeezed chart

編輯:丹的答案的伎倆:renderer.setInScroll(true);

+0

很好的截圖。什麼是應用程序的名稱? – 2013-04-09 19:32:26

+0

謝謝丹!該應用程序是Awnry News&Weather(id = com.awnry.android.nawnry)。字體是Ubuntu,不是應用程序的一部分。 :)它只是美國的,但我很快就會擴展到國際。 – 2013-04-09 19:55:53

回答

3

一些想法,值得嘗試:

  • 設置渲染器時調用renderer.setInScroll(true);
  • 呼叫chartView.repaint();的UI之後重新繪製的其他組件。
+0

D'oh!下次我應該深入挖掘。 'renderer.setInScroll(true)'做了訣竅。謝謝! – 2013-04-09 19:54:37

+0

不客氣。 – 2013-04-09 20:02:01