3

縦向きモードと横向きモード用にそれぞれ 1 つずつ、2 つのレイアウト ファイルを使用するアクティビティがあります。向きを変えるたびに onCreate メソッドが呼び出されることがわかります。使ってみた

android:configChanges = "orientation"

マニフェスト ファイルに含まれていますが、縦向きレイアウトのみを読み取ります。onCreate を呼び出さずにレイアウトをランドスケープ モードに設定する方法はありますか?

4

4 に答える 4

2

を使用する場合は、 のメソッドをandroid:configChanges = "orientation"オーバーライドする必要があります。新しい向きのパラメーターを確認してから、必要なレイアウトを手動で設定します。onConfigurationChanged(...)ActivitynewConfig

次のリンクを参照してください。

onConfigurationChanged(構成 newConfig)

自分で構成変更を処理する

于 2012-12-04T20:58:46.967 に答える
0

これはAndroidの現実です。画面の向きが変わるなどの構成の変更により、いつでも破棄される可能性があるという事実に基づいてアクティビティを開発する必要があります。一時停止時に画面を構築するために使用したすべての情報を保存し、onCreateで再作成します。

于 2012-12-04T20:21:37.257 に答える
0

アクティビティをランドスケープモードのみにする場合は、AndroidManifest.xmlのアクティビティに次の属性を設定します。

        android:screenOrientation="landscape"

さまざまな画面の向きに合わせて、layout.xmlファイルをこのようなフォルダーに配置できます。

  • res \ layout-land
  • res \ layout-port
于 2012-12-04T20:21:50.870 に答える
0

2 つのレイアウト フォルダを作成できます。1 つはポートレート モード用、もう 1 つはランドスケープ モード用です。レイアウトとレイアウトランド。

于 2012-12-04T20:19:33.727 に答える