私の Android アプリケーションでは、my_profile.xml という同じファイル名で 2 つの異なるレイアウトを設計し、1) res/layout、2) res/layout-land という 2 つの異なるディレクトリに保存しました。問題は、ポートレート モードでアクティビティを開始すると、ポートレート モードのレイアウトがロードされますが、向きを変更してもレイアウトは変更されません。しかし、ランドスケープ モードでアクティビティを開始すると、ランドスケープのレイアウトがロードされます。問題は、向きを変更したときだけで、自動的に処理されません。何が問題なのか教えてください。
質問する
168 次
3 に答える
0
以下を確認してください。
1) マニフェスト ファイルで、アクティビティの以下の行を確認します
android:configChanges="orientation|keyboardHidden|screenSize"
2) 以下の関数をオーバーライドする
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
Log.d(tag,"onconfig");
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// do something
Log.d(tag,"land");
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
// do something
}
}
-プリーヤ
于 2012-12-28T11:44:33.957 に答える
0
manifest.xml で、次のような変更を行います,,,,,
<activity android:name=".myActivity" android:windowSoftInputMode="adjustPan" android:configChanges="keyboardHidden"></activity>
configuartionChanges="orientation" を使用しないでください
それでおしまい...
于 2012-12-28T11:44:45.193 に答える
0
マニフェスト ファイルを確認します。あなたの活動に以下がある場合は、それを削除してください:
android:configChanges="keyboard|orientation|screenSize"
orientation
アクティビティが新しいレイアウトを作成するのではなく、同じレイアウトに頼るようにします。
于 2012-12-28T11:52:42.907 に答える