2016-03-26 11 views
0

Xamarinを使用していますが、デバイスの高さと幅を調べる方法がわかりません。私もオンラインで検索しましたが、それにはxamarinと何もありません。それらのすべては他のものと関連しています。私は応答レイアウトを持つアプリケーションを構築したい、高さと幅を使用して私はデバイスの位置を見つけることができ、デバイスの状態でコードを実装する。xamarinを使用してデバイスの高さと幅を調べるには

誰でも私にスクリーンの高さと幅を見つけるための ".cs"コードを教えてもらえますか? Androidについては

答えて

2

:それはここで説明されるように、すべての解像度のためのレイアウトをhandeする

UIScreen.MainScreen.Bounds 
+0

Windows UWPはどうですか? – jbyrd

0

正しい方法は、画面の範囲に対して宣言異なるレイアウトファイルである:iOS用

var metrics = Resources.DisplayMetrics; 
    var widthInDp = ConvertPixelsToDp(metrics.WidthPixels); 
    var heightInDp = ConvertPixelsToDp(metrics.HeightPixels); 

https://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_4_-_creating_resources_for_varying_screens/

すべてのケースを処理する1つのレイアウトを作成しないでください。コードが混乱してしまいます私はあなたが私はあなたにこのことをアドバイスします評判を持っていないことがわかりますので病気に既に存在しているfuncionsを実装しており、上記の文書で動作し、

何かを構築するための正しい方法については、必ず最初の検索を、その後、あなたは

1

共通コード(App.xaml.csで)

public static int ScreenHeight {get; set;} 
public static int ScreenWidth {get; set;} 

Androidの一部(MainActivity.csで、目で選択した方法で構築する方法を検索電子OnCreate関数法)

App.ScreenHeight = (int) (Resources.DisplayMetrics.HeightPixels/Resources.DisplayMetrics.Density); 
App.ScreenWidth = (int) (Resources.DisplayMetrics.WidthPixels/Resources.DisplayMetrics.Density); 

iOSの部分(AppDelegate.csで、中FinishedLaunching法)

App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height; 
App.ScreenWidth = (int)UIScreen.MainScreen.Bounds.Width; 
アプリケーションがされるときにApp.ScreenHeightとApp.ScreenWidthが初期化されます

共通のコードのどこにでもそれらを使用できるようになります。

関連する問題