Xamarin : Android : Lock Screen(View) Orientation 禁止螢幕(畫面)旋轉

在 Xamarin 開發 Android 的時候如果要禁止畫面旋轉 要在 Activity 的程式碼使用下面方式(黃色部分)宣告


[Activity(Label = "ZxingTest", MainLauncher = true, Icon = "@drawable/icon" ,ScreenOrientation =Android.Content.PM.ScreenOrientation.Portrait)]


Android.Content.PM.ScreenOrientation 裡面有些列舉屬性,像是:
Android.Content.PM.ScreenOrientation.Portrait (豎屏;直向畫面)
Android.Content.PM.ScreenOrientation.Landscape (橫屏;橫向畫面)

而大部分網路上說修改 AndroidManifest.xml 裡面更改
<activity> 屬性增加 android:screenOrientation="portrait"等這類方式都是
 Android Studio 的開發方式 不是 Ms Visual Studio 的開發方式,所以特別紀錄一下。


為什麼要禁止螢幕旋轉:

除了特定版面排版特性之外,當每次旋轉螢幕時 Activity 和 View都會被重載 (Reload/Redraw) ,此時畫面上所有物件都會被 摧毀並釋放記憶體空間,由於這個特性,在畫面上的資料如果沒被儲存就會消失的一乾二淨。

當然可以利用 OnSaveInstanceState 和 OnRestoreInstanceState 事件覆寫來處理資料儲存和還原,但是如果不想做太複雜,就直接設定禁止畫面旋轉就可以了。

留言

這個網誌中的熱門文章

【研究】列印的條碼為什麼很難刷(掃描)

統一發票列印小程式

C# 使用 Process.Start 執行外部程式