Android不同的方法添加LayoutParams

时间:2011-09-25 08:15:27

标签: android layout

我注意到有两种方法可以将编程方式的LayoutParams添加到任何视图中,并且很想知道它们是否也有不同的含义。

示例1

在此示例中,将LayoutParams直接设置为按钮。

LinearLayout parent = new LinearLayout(this);
Button btnNew = new Button(this);
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
button.setLayoutParams(params);
parent.addView(btnNew);

示例2

在此示例中,在将layoutparams添加到父视图时,将layoutparams添加到按钮。

LinearLayout parent = new LinearLayout(this);
Button btnNew = new Button(this);
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
parent.addView(btnNew, params);

两者有什么不同?

1 个答案:

答案 0 :(得分:0)

没有区别。如果检查android源代码,则指定如果未指定布局参数,则设置视图组的defualts参数。当您使用方法

addView(child,params);

它调用另一个名为addViewInner的方法,该方法只将params对象设置为子对象。

ViewGroup.java的源代码可以在这里看到