以下のように6枚の画像をグリッド状に表示したい。
縦向きでは 2 列 3 行、横向きでは 3 列 2 行
Android GridView を使用し、layout-port ディレクトリと layout-land ディレクトリで異なるグリッド レイアウトを定義することで、この効果を実現できました。
後でアクティビティの要件に従って、manifest.xml に 1 つのパラメーターを追加しました。
android:configChanges = "mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|fontScale|screenSize"`
画面の向きが変わったら、アクティビティを停止して再作成します。
このパラメーターを追加した後、グリッド ビューが期待どおりに動作しません。1 列の場合もあれば、2 列の場合もあれば、3 列の場合もあります。
デバイスの向きに応じて、グリッド アダプターの get ビュー メソッドにgridView.setNumberOfColumns(2)
orメソッドを配置しています。gridView.setNumberOfColumns(3)
android:configChanges
Manifest.xmlのパラメーターを削除せずにこの効果を達成するのを手伝ってください