2017-10-05 6 views
0

私は現在、xamarinを使用してアンドロイドのアンケートプログラムに取り組んでいます。異なる質問タイプがあるので、質問を表示するためにフラグメントを使用しています。私は質問のための十分な画面スペースがあることを確認する必要がありますが残念ながら私はそれに有用な何かを見つけることができないか、またはxamarinで動作するバージョンを見つけることができません。xamarinでアンドロイドフラグメントの画面サイズを取得する

このプログラムは、問題を描くのに十分な余裕があるかどうかをチェックするためのもので、問題がなければ次のページに表示されます。質問は動的に描画されるので、プログラムは実行時にスペースがあるかどうかを知ることができません。

私は、デバイスの画面サイズを取得するために管理しているが、私は断片に対して同様のコードを使用する場合には、これは私がデバイスのために使用されるコードであり、それが正常に動作します0

を返します。

Point size = new Point(); 
this.WindowManager.DefaultDisplay.GetSize(size); 
System.Diagnostics.Debug.WriteLine("Panel " + size.ToString()); 

答えて

0

私は、デバイスの画面サイズを取得するために管理しているが、私はそれが0

を返し断片に対して同様のコードを使用するときは、このようなあなたのフラグメントにフラグメントのサイズを取得することができます:

public class MyFragment:Fragment 
{ 
    ... 

    public override void OnViewCreated(View view, Bundle savedInstanceState) 
    { 
     base.OnViewCreated(view, savedInstanceState); 
     //add global layout event listener 
     view.ViewTreeObserver.GlobalLayout += ViewTreeObserver_GlobalLayout; 
    } 

    private void ViewTreeObserver_GlobalLayout(object sender, EventArgs e) 
    { 
     //get the size of fragment 
     var width=this.View.Width; 
     var height = this.View.Height; 
    } 
} 
関連する問題