0

4つのパラメーターのセットをアニメーションとして表示する監視アプリがあります(たとえば、温度計のグラフィックを使用して温度を表示します)。また、4つのパラメーター値すべてをグラフにプロットする1つの画面があります。

私の要件はこれです:

  1. デバイスがランドスケープモードのときはいつでも、チャートが表示されます。
  2. デバイスがポートレートモードに戻ると、以前のアニメーション画面が表示されます。

向きに応じて異なる機能を提供できるのではないかと思います。2つのオプションが表示されます

  1. オーバーライドActivity.onConfigurationChanged()-しかし、それでは何ですか?setContentView()この時点でできますか?または、別のアクティビティ(チャートを別のlanscape-modeのみのアクティビティで表示するアクティビティ)を起動できますか?
  2. メソッドをオーバーライドしApplication.onConfigurationChanged()ます。しかし、率直に言って、これをどのように進めるかについての手がかりはありません。
4

1 に答える 1

1
  1. はい、setContentView()内部に電話をかけることができますActivity.onConfigurationChanged()。向きを確認し、それに応じていくつかのタスクを実行できます。つまり、向きに基づいて異なるコードを実行します。

  2. 通常の動作では、向きが変わると、システムはアクティビティを強制終了し、新しいアクティビティを作成します。android:configChanges="orientation"アクティビティマニフェストでこれを防ぐことができます。この場合onConfigurationChanged(..)、変更が発生したときに呼び出されるメソッドをオーバーライドする必要があります。実行時の変更の処理を参照してください。

于 2011-09-15T10:57:24.090 に答える