Android 禁止屏幕旋轉 & 旋轉屏幕時保持Activity內容

1.在應用中固定屏幕方向。

     在AndroidManifest.xml的activity中加入:
            android:screenOrientation=」landscape」
     屬性便可(landscape是橫向,portrait是縱向)。

OK


2.隨屏幕旋轉時,不從新調用onCreate。
 
當將手機屏幕旋轉時, 系統會 被強制重置啓動onCreate方法
 
1)修改AndroidManifest.xml
 
     在activity屬性中加入:
          android:configChanges=」orientation|keyboardHidden」
  • android:configChanges,這個方法主要是負責列出清單,當清單上用戶指定的設置改變時,Activity會本身處理這些變化。
  • orientation,屏幕界面旋轉(多是用戶手動旋轉的),【注意:若是你的開發API等級等於或高於13,你還須要設置screenSize,由於screenSize會在屏幕旋轉時改變】
  • keyboardHidden,鍵盤輔助功能改變
2) 在相對應的Activity中繼承重寫onConfigurationChanged方法,這個方法將會在咱們的應用發生變化時,讓咱們能隨心所謂地進行監聽處理。
複製代碼
public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub super.onConfigurationChanged(newConfig);
        if (newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) {
           // Nothing need to be done here             
        } else {
           // Nothing need to be done here         }
        
       
    }
複製代碼
 
 
 
若是在兩個if中寫其餘操做,好比setContentView(),那麼當旋轉屏幕時,就會從新調用新的view,而且須要從新設定view的內容,而當前的view內容沒有保存。
什麼也不寫的話,當前view中的內容會隨着屏幕轉動而轉動,不影響操做,這是我想要的結果。
相關文章
相關標籤/搜索