Androidは縦画面切り替え禁止
4255 ワード
Androidは縦画面切り替え禁止
2011-03-31 10:12
1945人が読む
コメント (0)
コレクション
通報する
AndroidManifest.xml内の構成
Android:screenOrientation="landscape"属性でよい(landscapeは横方向、portraitは縦方向)
android:screenOrientation=”landscape” ,
Androidでは1つのプログラムのインタフェースを常に1つの方向に維持し、携帯電話の方向に従って回転しない方法:Android Manifestであれば.xmlの中に配置すればいいです.AndroidManifestでxmlのactivity(ステアリング禁止が必要なactivity)構成にandroid:screenOrientation="landscape"属性を入れればよい(landscapeは横方向、portraitは縦方向).例:
[xhtml]
view plain
copy
android:label="@string/app_name"
android:debuggable="true" >
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:taskAffinity="com.view.task" >
また、androidでは画面方向が切り替わるたびにActivityが再起動されるので、Activityが破棄される前に現在のアクティビティの状態を保存しておき、Activityが再度Createを作成するときに構成をロードすると、進行中のゲームは自動的に再起動されなくなります!スクリーンを回すときにactivityを再起動することを避けるにはandroidmanifestを使用します.xmlファイルで方向を再定義し(各activityにandroid:configChanges="keyboardHidden|orientation"プロパティを追加)、Activityの書き換えonConfigurationChanged(Configuration newConfig)メソッドに従って制御します.これにより、スクリーンを回すときにactivityを再起動するのではなく、onConfigurationChanged(Configuration newConfig)というフックメソッドが呼び出されます.たとえば
[java]
view plain
copy
@Override
public void onConfigurationChanged(Configuration newConfig) {
try {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port
}
} catch (Exception ex) {
}
}