1

我的应用程序Fragment在一个ViewPager. 其中一个片段包含 a ChartView,当用户滑动以移动到相邻片段时,图表将被重新绘制和挤压,而不是像预期的那样保持原始宽度。这也发生在垂直的内部ScrollView

下面是片段和刷卡时的片段的屏幕截图。

如果这有什么不同ChartView的话,它就在里面。FrameLayoutFrameLayout宽度设置为fill_parentFrameLayout实际上是子类化,并以编程ChartView方式添加,如下所示:

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

    ...

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

关于如何在图表滚动进出视图时将图表保持在原始尺寸的任何想法?

原图:

原始图表

压缩图:

压缩图表

编辑:丹的回答成功了:renderer.setInScroll(true);

4

1 回答 1

3

一些值得尝试的想法:

  • renderer.setInScroll(true);设置渲染器时调用。
  • chartView.repaint();在 UI 重新绘制其他组件后调用。
于 2013-04-09T19:32:00.827 回答