2012-04-25 99 views
44

我需要设置imageview的高度matchparent programatically.if它是一个固定高度,我知道如何设置。以编程方式将imageview设置为matchparent

但我怎么能把它设置为matchparent?

编辑:

实际父布局的高度dynamic.so我需要做的ImageView作为家长的高度的高度。

+1

我已经尝试过了没有设置高度匹配父 – 2012-04-25 07:03:33

回答

4

启动LayoutParams。

分配父的宽度和高度,并把它传递给的ImageView的

+0

你永远不应该pa ss父母的实际尺寸。始终使用MATCH_PARENT而不是实际值。一般来说,我不会推荐使用绝对尺寸,因为它可能在所有屏幕上看起来完全不同。我更喜欢使用重量。 – 2016-11-28 16:06:20

+2

说实话,这应该是一个评论 – 2017-02-26 10:39:32

146
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
+0

在answers.but提到的所有方法:(这应该是公认的答案... – 2017-11-08 09:43:00

+0

当我在LayoutParams中按下Alt + Enter键时,我看到了很多类,你可以告诉我哪一个使用? – Uday 2018-02-13 08:25:14

+0

什么是父视图? – candyleung 2018-02-13 11:33:03

1

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

+0

MATCH_PARENT没有在上下文中定义,你必须说'LayoutParams.MATCH_PARENT ' – 2015-12-01 21:10:36

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

布局参数的类型取决于父视图组。如果你把错误的会引起异常。

+1

什么是“宽度”? – FlorianB 2016-10-03 22:07:11

+0

像素中的int。 – 2016-10-06 07:41:33

+0

它对我有用 – 2017-11-08 10:06:10

1

setLayoutParams方法你可以试试这个柜面你想匹配父。尺寸安排是宽度和高度序

web = new WebView(this); 
     web.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
24
imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT; 
相关问题