アプリケーション用に 2 つのレイアウト ファイル (res/layout と res/layout-land) を作成しました。しかし、デバイスの向きを変更すると、適切なレイアウト ファイルが表示されません。両方のモードで同じレイアウト ファイル (res/layout) を表示するだけです。ランドスケープ モードでランドスケープ モード レイアウト ファイルを取得しないのはなぜですか? また、マニフェストのアクティビティに android:configChanges="keyboard|orientation" を追加しました。他に何をしなければなりませんか?私はAndroidアプリ開発の初心者です。
質問する
337 次
2 に答える
2
マニフェスト ファイルに追加android:configChanges="keyboard|orientation"
しても、レイアウトは変更されません。この属性を追加すると、アクティビティが再作成されず、縦向きモードと同じレイアウトが表示されるためです。android:configChanges="keyboard|orientation"
そのため、マニフェスト ファイルから削除して機能させます。
アクティビティを再度作成せず、向きが変わったときにレイアウトを変更する必要がある場合は、レイアウトを手動で変更するコードを追加して、動作をonConfigurationChanged()
確認する必要がありmy answer here
ます。
于 2012-05-09T04:21:32.037 に答える
1
これを追加しないでください。
android:configChanges="keyboard|orientation"
マニフェストで.. onConfigurationchanged メソッドの呼び出しを許可していないため...方向の変更を処理する責任があります...マニフェストからその行を削除すると、機能するはずです...
于 2012-05-09T04:21:34.470 に答える