1

每个ViewGroup类都实现了一个可扩展的嵌套类ViewGroup.LayoutParams。所以我们LinearLayout.LayoutParams, RelativeLayout.LayoutParams,FrameLayout.LayoutParams等等

假设我想以编程方式创建一个View,例如。TextView我必须为其提供所需的属性,例如layout_widthand layout_height,为此我必须使用一个LayoutParams类。我怎么知道LayoutParams要使用哪个类?

4

2 回答 2

4

这取决于你把它放进去。如果要将其放入线性布局,请使用 LinearLayout.LayoutParams。对于相对,使用 RelativeLayout.LayoutParams。

如果您不知道类型 - 先通过 add 将其添加,然后使用 getLayoutParams 获取它。然后更改layourparams。当您使用不带参数的 add() 时,父级将为您制作一个。

于 2016-03-18T17:09:22.367 回答
3

如果您只需要视图宽度和高度,请使用 ViewGroup.LayoutParams,因为所有其他的都继承自这个。您可以分配一个 ViewGroup.LayoutParams,其中需要一个 RelativeLayout.LayoutParams, LinearLayout.LayoutParams, ...。

于 2016-03-18T17:14:15.550 回答