レイアウトに追加する前にビューの高さと幅を取得する必要があります。私は、ビューのMeasuredHeightとMeasuredWidthを使ってみましたが、そのretursnは0です。これを解決するために私を助けてください。コードスニペットの下ビューの高さと幅を取得するには?
私は試してみました:
int height = Column.MeasuredHeight;
int width = Column.MeasuredWidth;
レイアウトに追加する前にビューの高さと幅を取得する必要があります。私は、ビューのMeasuredHeightとMeasuredWidthを使ってみましたが、そのretursnは0です。これを解決するために私を助けてください。コードスニペットの下ビューの高さと幅を取得するには?
私は試してみました:
int height = Column.MeasuredHeight;
int width = Column.MeasuredWidth;
view.getWidth()とview.getHeightを()あなたは0を受信しないようにレイアウト変更イベントを使用する必要が
です。既に試しました。また、0を返します。 – Parthiban
View view= LayoutInflater.from(this).inflate(R.layout.activity_main, null, false);
setContentView(view);
int viewWidth = view.getWidth();
int viewHeight = view.getHeight();
あなたのコードで少し説明がうまくいくでしょう。 – Sakuto
試してみてください高さとして。 手短に尋ねると、レイアウトはまだ描画されていません。測定するレイアウトのViewTreeObserverを使用します。
LinearLayout linearLayout = FindViewById<LinearLayout>(Resource.Id.linearLayout);
ViewTreeObserver vto = linearLayout.ViewTreeObserver;
vto.GlobalLayout += (sender, args) => {
System.Console.WriteLine (linearLayout.Height);
};
なぜレイアウトを設定する前にそれをしたいですか? –
これを試してくださいhttp://stackoverflow.com/a/9426895/5577679 – tompadre
@tompadre更新をありがとう。 (0、MeasureSpecMode.Unspecified)); int colHeight = Column.MeasuredHeight; このソリューションを使用すると、実際の列の高さが得られません。 – Parthiban