【问题标题】:Set Margins Between Linear Layout Programatically以编程方式设置线性布局之间的边距
【发布时间】:2016-09-14 12:36:21
【问题描述】:

我正在动态地将线性布局添加到滚动视图中包含的主要线性布局。 Scrollview --> MainLinearLayout --> Childrens.

现在我想在孩子之间留一些空间,所以我做了以下操作:

 RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,height_layout);
            lp.setMargins(50,50,50,50);
            linearLayout.setLayoutParams(lp); 

但我看不到孩子们之间的任何空间,他们都互相卡住了。

高度宽度可以正常工作,但边距不行。

【问题讨论】:

  • 问题是什么?你的LayoutRelative 还是Linear ?
  • @jaydroider 我的布局是线性的。
  • 这包含什么 linearLayout 您正在其中设置参数?

标签: android android-layout


【解决方案1】:

使用下面的代码

((RelativeLayout.LayoutParams)linearLayout.getLayoutParams()).setMargins(left, top, right, bottom);

【讨论】:

    【解决方案2】:

    如果你想设置LinearLayout,你应该使用LinearLayout.LayoutParams

    例如:

    LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,height_layout);
    lp.setMargins(50,50,50,50);
    linearLayout.setLayoutParams(lp); 
    

    【讨论】:

    • 这会使应用程序崩溃。 LinearLayout 是 relativelayout 的子级。阅读此link
    • @Techie 但是,在您的情况下,您的 LinearLayout 是 LinearLayout 的子级,不是吗?
    • 是的,我会试一试,让你早点知道它会崩溃
    猜你喜欢
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    相关资源
    最近更新 更多