[Xamarin]使用 Device.OnPlatform 來為不同平台的 App 設定不同的值

環境:Xamarin.Forms

有時候我們需要針對不同平台來設定不同的值,

這時候可以透過 Device.OnPlatform<T> 來達到我們的目的。

例如 ContentPage 在 iOS 中如果沒有設定 Top Padding 的話,

資料就會被最上面的資訊列壓到,如下圖,

但我們又不能全都設定 Top Padding ,因為 Android 、Windows 並不會有這樣子的問題。

所以就可以透過 Device.OnPlatform 來達到我們的目的。

它可以讓我們依不同平台設定不同的值,或是要做的事。

如下,筆者只針對iOS平台設定 Top Padding 為 20.

Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0);

這樣iOS就不會被壓到了,如下,

參考資料

Introduction to Xamarin.Forms

Xamarin.Forms.Device.OnPlatform Method

Device.OnPlatform<T>(Default)

 

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^