0

アプリケーション用に 2 つのレイアウト ファイル (res/layout と res/layout-land) を作成しました。しかし、デバイスの向きを変更すると、適切なレイアウト ファイルが表示されません。両方のモードで同じレイアウト ファイル (res/layout) を表示するだけです。ランドスケープ モードでランドスケープ モード レイアウト ファイルを取得しないのはなぜですか? また、マニフェストのアクティビティに android:configChanges="keyboard|orientation" を追加しました。他に何をしなければなりませんか?私はAndroidアプリ開発の初心者です。

4

2 に答える 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 に答える