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

以下是片段和片段被刷时的屏幕截图。

ChartViewFrameLayout内(如果有任何区别)。 FrameLayout的宽度设置为fill_parentFrameLayout实际上是子类,并且ChartView是通过编程添加的,如下所示:

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

    ...

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


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

原始图表:



压缩图表:



编辑:丹的答案做了trick俩:renderer.setInScroll(true);

最佳答案

一些值得尝试的想法:


设置渲染器时,调用renderer.setInScroll(true);
UI重新绘制其他组件后,调用chartView.repaint();

10-06 13:57