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中的內容會隨着屏幕轉動而轉動,不影響操作,這是我想要的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM