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) {    
        }    
    
    }