Android :landscape||portrait 切換


可在AndroidManifest.xml里面配置屏幕發現。 在<Activity>中加入這一行android:screenOrientation="landscape/portrait "

 

android中每次屏幕的切換動會重啟Activity(可以在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了)

 

當屏幕變為橫屏的時候,系統會重新呼叫當前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中來檢查當前的方向,然后可以讓你的SetContentView來載入不同的Layout xml.

 

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

 

Log.i("info", "landscape");

 

}

 

else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

 

Log.i("info", "portrait");

 

}

 

另外,android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!要避免在轉屏時重啟activity,可以通過在androidmanifest.xml文件中重新定義方向(給每個activity加上android:configChanges=”keyboardHidden|orientation”屬性),並根據Activity的重寫onConfigurationChanged(Configuration newConfig)方法來控制,這樣在轉屏時就不會重啟activity了,而是會去調用onConfigurationChanged(Configuration newConfig)這個鈎子方法。

 

為什么android:configChanges=”orientation”不可以?我只使用“orientation”,時還是會調用onCreate方法。


免責聲明!

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



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