私のアプリには、 にいくつかFragment
の がありViewPager
ます。フラグメントの 1 つに が含まれておりChartView
、ユーザーがスワイプして隣接するフラグメントに移動すると、予想されるように元の幅にとどまるのではなく、チャートが再描画されて縮小されます。これは、 の内部でも垂直に発生しScrollView
ます。
以下は、フラグメントとスワイプしたときのフラグメントのスクリーンショットです。
はifのChartView
中にあり、違いがあります。FrameLayout
のFrameLayout
幅は に設定されていfill_parent
ます。はFrameLayout
実際にはサブクラス化ChartView
され、次のようにプログラムで追加されます。
public FrameLayoutSubclass(Context context, AttributeSet attributeSet)
{
super(context, attributeSet);
...
chartView = new GraphicalView(context, chart);
addView(chartView);
}
チャートがスクロールされたり見えなくなったりするときに、チャートを元の寸法に保つ方法についてのアイデアはありますか?
元のチャート:
スクイーズチャート:
編集:ダンの答えはうまくいきました:renderer.setInScroll(true);