Java 在多个布局上设置LayoutParams
我需要以编程方式更改布局的topMargin值。我尝试了以下方法:Java 在多个布局上设置LayoutParams,java,android,android-layout,Java,Android,Android Layout,我需要以编程方式更改布局的topMargin值。我尝试了以下方法: android.widget.LinearLayout.LayoutParams lp_ll = new LinearLayout.LayoutParams( spaceBtnWidth, buttonHeight); lp_ll.height = LayoutParams.WRAP_CONTENT; lp_ll.width = LayoutParams.WRAP_CONTENT; lp_
android.widget.LinearLayout.LayoutParams lp_ll = new LinearLayout.LayoutParams(
spaceBtnWidth, buttonHeight);
lp_ll.height = LayoutParams.WRAP_CONTENT;
lp_ll.width = LayoutParams.WRAP_CONTENT;
lp_ll.gravity = Gravity.CENTER_HORIZONTAL;
lp_ll.topMargin = rowDistance;
ll3.setLayoutParams(lp_ll);
ll4.setLayoutParams(lp_ll);
ll5.setLayoutParams(lp_ll);
我希望我的3个布局ll3、ll4和ll5都使用lp_ll中相同的属性。现在的问题是,只有我的第一个布局ll3采用了它。另外两个没有改变。我甚至尝试了一个不同的顺序,将我设置ll4的行放在ll3和ll5行之上。无论如何,ll3正在被设置,另外两个不会改变它们的属性。
感谢为每个版面创建一份
lp\u ll
ll4.setLayoutParams(new LinearLayout.LayoutParams(lp_ll));
ll5.setLayoutParams(new LinearLayout.LayoutParams(lp_ll));
您可以这样简单地编辑代码:
android.widget.LinearLayout.LayoutParams lp_ll = new LinearLayout.LayoutParams(
spaceBtnWidth, buttonHeight);
lp_ll.height = LayoutParams.WRAP_CONTENT;
lp_ll.width = LayoutParams.WRAP_CONTENT;
lp_ll.gravity = Gravity.CENTER_HORIZONTAL;
lp_ll.topMargin = rowDistance;
ll3.setLayoutParams(lp_ll);
ll4.setLayoutParams(ll3.getLayoutParams());
ll5.setLayoutParams(ll3.getLayoutParams());
它仍然会这样做,我希望这会有所帮助。这会使我的应用程序崩溃API 19中添加的构造函数不起作用。同样,ll3是好的,其余的没有做任何事情。请发布完整的代码,这样我们可以更好地解决它。谢谢。您的
ll[345]
布局的父布局是什么?