プログラムで一致親としてimageviewの高さを設定します


83

私はの高さに設定する必要がImageViewのようmatchparentを、それは私が設定する方法を知っている固定の高さであるprogramatically.if。

しかし、どうすればマッチペアレントとして設定できますか?

編集:

実際には、親レイアウトの高さは動的です。したがって、イメージビューの高さを親の高さにする必要があります。


2
回答に記載されているすべての方法を試しましたが、高さを一致する親として設定していません:(
andro-girl 2012

1
あなたは受け入れ答えを確認する必要があります
CularBytes

回答:


-20

LayoutParamsを開始します。

親の幅と高さを割り当て、それをimageviewのsetLayoutParamsメソッドに渡します


3
親の実際の寸法を決して渡してはなりません。実際の値ではなく、常にMATCH_PARENTを使用してください。一般に、絶対サイズを使用することはお勧めしません。すべての画面で完全に異なって見える可能性があるためです。ウェイトを使用したいです。
ダニエルボー

12
正直なところ、これはコメントである必要があります
Neon Warge 2017

255
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

12
LayoutParamsでAlt + Enterを押すと、非常に多くのクラスが表示されます。どれを使うか教えていただけますか?
Uday 2018

親ビューとは何ですか?
C. Leung

4
LayoutParamsを設定するビューのクラスを使用する必要があります。つまり、LinearLayout.LayoutParamsを使用して乳母車をLLに設定します:)
Andrew

元の画像のサイズに基づいて高さを動的にし、幅をMATCH_PARENTにしたい場合はどうなりますか?
テイラー

import android.view.ViewGroup
Alan Nelson

57
imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

7
プログラムでimageviewを作成したために初めてパラメータを設定する場合、これはポインタエラーをnullにします(またはテキストビューで行います)。
2018年

15
imageView.setLayoutParams
    (new ViewGroup.MarginLayoutParams
        (width, ViewGroup.LayoutParams.MATCH_PARENT));

レイアウトパラメータのタイプは、親ビューグループによって異なります。間違ったものを入れると例外が発生します。


1
「幅」とは何ですか?
FlorianB 2016年

9

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


4

私も同じ問題を抱えていました。最初に設定することで解決:

imageView.setMinHeight(0);
imageView.setMinimumHeight(0);

その後 :

imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

setMinHeightはImageViewによって定義され、setMinimumHeightはViewによって定義されます。ドキュメントによると、2つの値の大きい方が使用されるため、両方を設定する必要があります。


3

親と一致させたい場合は、これを試すことができます。寸法の配置は幅と高さの順です

web = new WebView(this);
        web.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

1

MATCH_PARENT定数またはその数値-1を使用できます。


1
MATCH_PARENTはコンテキストで定義されていません。'LayoutParams.MATCH_PARENT'と言う必要があります
Akshat Agarwal 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.