(Xamarin.Forms)端末の画面サイズの取得
基本的に意識すべきではない
じゃあ、こんな記事書くなよ…。
と、思われてしまうかもしれませんが。
端末の画面サイズを取得して、それを元に計算するようなシーンはない方がいいです。
画面サイズやOSによらず、共通のレイアウトを適用できるように作るべきだし、それがXamarin.Formsのいいところだからです。
しかしながら、
- 回転
- キーボード表示
などの要因により、
Page
のサイズが動的に変わってしまうような状況もありえます。
そのような場合においては、
固定値として基準になるサイズ
が欲しくなることがあります。
そんな時の為に、その方法を記しておこうと思います。
実装
インタフェース部
.Droid
.iOS
使い方
サンプルプロジェクトはこちら↓
github.com
ポイント
Androidでは、下記の点に注意です。
- ステータスバーの高さを別途取得して引いておく必要がある
- 取得できるサイズの単位は
Pixel
- Xamarin.Formsで扱うサイズの単位は
DIP
なので、Pixel
→DIP
への変換が必要- Density-independent Pixels = 密度に非依存のピクセル
- Xamarin.Formsで扱うサイズの単位は