3

こんにちは皆さん、Androidを初めて使用し、向きの問題に悩まされています。別々にデザインし、layout-largeフォルダーとlayout-large-landフォルダーに配置した、横向きと縦向きの別々のレイアウトを表示する必要があります。デバイスを回転させたときにレイアウトを変更する必要があります。アクティビティを破壊および再作成せずに風景

この問題から抜け出すのを手伝ってください

前もって感謝します

4

3 に答える 3

3

長年の Android プログラマーとしての私のアドバイスは次のとおりです。

それをしないでください!

アクティビティを破棄して、正しいレイアウトで再構築します。

向きの変更中にデータを保持するいくつかの方法をすべて検索して調査し、特定のケースに適用してください。説明のためにいくつかを以下に示します。

  1. onCreate(Bundle)onSavedInstances(Bundle) 中に保存された情報を含むバンドルを受け取ります。
  2. UI なしでフラグメントを使用し (onCreateView を呼び出さないでください)、回転間で保持されるように設定し、setRetainInstance(true)それを使用してデータを記憶します
  3. ローダー パターンを使用して、前のアクティビティで生成されたデータを自動的に受け取る
于 2013-02-25T11:39:20.807 に答える
0

交換

layout-large-land

layout-land-large

アクティビティの再作成/破棄を防止する

android:configChanges="orientation"ファイル内のアクティビティ宣言に属性を追加しAndroidManifest.xmlます。

この属性の目的は、android:configChanges実際に必要なときにアクティビティが再作成されるのを防ぐことです。

それがあなたのために働くかどうか私に知らせてください..

于 2013-02-25T12:22:04.857 に答える
-1

これを試して、

このコードをすべてのアクティビティの mainfest.xml に追加します。

android:ConfigChanges="keyboardHidden|orientation"   
于 2013-02-25T11:49:57.823 に答える