0

アプリケーション内で円グラフを表示するために AchartEngine Lib を使用していますが、携帯電話の向きを変更すると、円グラフが中央に配置されず、どこでも方向が変わるなどの奇妙な問題に直面しています。円グラフを中央揃えにする方法を教えてください。

4

1 に答える 1

5

フラグメント内で作成するのと同じ問題がありました。

何時間も費やした後、onConfigurationChangedメソッドをオーバーライドすることでなんとかそれを行うことができました。

問題は、レイアウト変更の前にonConfigurationChangedが呼び出され、レイアウト後に呼び出されるメソッドが見つからなかったことです。それに睡眠を追加すると、うまくいくようです。

レイアウトから chartView を削除し、null にして再作成し、レイアウトに再度追加する必要があります。

コード:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(100);
            } catch(Exception e) { }
            chartLayout.removeView(mChartView);
            mChartView = null;
            mChartView = ChartFactory.getPieChartView(getActivity(), mSeries, mRenderer);
            chartLayout.addView(mChartView);
        }
    });
}
于 2013-03-15T15:05:01.443 に答える