以编程方式将imageview的高度设置为matchparent

时间:2012-04-25 06:38:45

标签: android height imageview

我需要以编程方式将 imageview 的高度设置为 matchparent 。如果它是固定高度我知道如何设置。

但是如何将其设置为matchparent?

修改

实际上父布局的高度是动态的。所以我需要将imageview的高度设为父级的高度。

8 个答案:

答案 0 :(得分:207)

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

答案 1 :(得分:45)

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

答案 2 :(得分:14)

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

布局类型的参数取决于父视图组。如果你选错了它会导致异常。

答案 3 :(得分:4)

我有同样的问题。通过首先设置来解决:

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

然后:

imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;
setMinHeight由ImageView定义,而setMinimumHeight由View定义。根据文档,使用两个值中的较大者,因此必须同时设置两个值。

答案 4 :(得分:3)

你可以尝试这个想要匹配父母的。尺寸排列是宽度和高度的顺序

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

答案 5 :(得分:1)

您可以使用MATCH_PARENT常量或其数值-1。

答案 6 :(得分:0)

对于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

答案 7 :(得分:-3)

启动LayoutParams。

指定父级的宽度和高度,并将其传递给imageview的setLayoutParams方法