私はの高さに設定する必要がImageViewのようmatchparentを、それは私が設定する方法を知っている固定の高さであるprogramatically.if。
しかし、どうすればマッチペアレントとして設定できますか?
編集:
実際には、親レイアウトの高さは動的です。したがって、イメージビューの高さを親の高さにする必要があります。
私はの高さに設定する必要がImageViewのようmatchparentを、それは私が設定する方法を知っている固定の高さであるprogramatically.if。
しかし、どうすればマッチペアレントとして設定できますか?
編集:
実際には、親レイアウトの高さは動的です。したがって、イメージビューの高さを親の高さにする必要があります。
回答:
LayoutParamsを開始します。
親の幅と高さを割り当て、それをimageviewのsetLayoutParamsメソッドに渡します
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
imageView.setLayoutParams
(new ViewGroup.MarginLayoutParams
(width, ViewGroup.LayoutParams.MATCH_PARENT));
レイアウトパラメータのタイプは、親ビューグループによって異なります。間違ったものを入れると例外が発生します。
Kotlinユーザーの場合
val params = mImageView?.layoutParams as FrameLayout.LayoutParams
params.width = FrameLayout.LayoutParams.MATCH_PARENT
params.height = FrameLayout.LayoutParams.MATCH_PARENT
mImageView?.layoutParams = params
ここで私が使用FrameLayout.LayoutParams
私の見解ので、( ImageView
)親でありますFrameLayout
私も同じ問題を抱えていました。最初に設定することで解決:
imageView.setMinHeight(0);
imageView.setMinimumHeight(0);
その後 :
imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;
setMinHeightはImageViewによって定義され、setMinimumHeightはViewによって定義されます。ドキュメントによると、2つの値の大きい方が使用されるため、両方を設定する必要があります。
親と一致させたい場合は、これを試すことができます。寸法の配置は幅と高さの順です
web = new WebView(this);
web.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
MATCH_PARENT定数またはその数値-1を使用できます。