縦向きモードと横向きモード用にそれぞれ 1 つずつ、2 つのレイアウト ファイルを使用するアクティビティがあります。向きを変えるたびに onCreate メソッドが呼び出されることがわかります。使ってみた
android:configChanges = "orientation"
マニフェスト ファイルに含まれていますが、縦向きレイアウトのみを読み取ります。onCreate を呼び出さずにレイアウトをランドスケープ モードに設定する方法はありますか?
縦向きモードと横向きモード用にそれぞれ 1 つずつ、2 つのレイアウト ファイルを使用するアクティビティがあります。向きを変えるたびに onCreate メソッドが呼び出されることがわかります。使ってみた
android:configChanges = "orientation"
マニフェスト ファイルに含まれていますが、縦向きレイアウトのみを読み取ります。onCreate を呼び出さずにレイアウトをランドスケープ モードに設定する方法はありますか?
を使用する場合は、 のメソッドをandroid:configChanges = "orientation"
オーバーライドする必要があります。新しい向きのパラメーターを確認してから、必要なレイアウトを手動で設定します。onConfigurationChanged(...)
Activity
newConfig
次のリンクを参照してください。
これはAndroidの現実です。画面の向きが変わるなどの構成の変更により、いつでも破棄される可能性があるという事実に基づいてアクティビティを開発する必要があります。一時停止時に画面を構築するために使用したすべての情報を保存し、onCreateで再作成します。
アクティビティをランドスケープモードのみにする場合は、AndroidManifest.xmlのアクティビティに次の属性を設定します。
android:screenOrientation="landscape"
さまざまな画面の向きに合わせて、layout.xmlファイルをこのようなフォルダーに配置できます。
2 つのレイアウト フォルダを作成できます。1 つはポートレート モード用、もう 1 つはランドスケープ モード用です。レイアウトとレイアウトランド。