0

我以编程方式声明了一个水平方向的线性布局。
如何动态设置该布局的宽度、高度、边距。
我尝试如下:

         leftMargin = 40;
         rightMargin = 20;
         widgetWidth = 300;
         topMargin = 5;
         bottomMargin = 5;
         widgetHeight = 100;
        LayoutParams params = new LayoutParams((int) widgetWidth, (int) widgetHeight);
        params.setMargins((int) leftMargin, (int) topMargin,
                (int) rightMargin, (int) bottomMargin);
        newHorizontalLayout = new LinearLayout(ctx);
        newHorizontalLayout.setOrientation(LinearLayout.HORIZONTAL);
        newHorizontalLayout.setLayoutParams(params);


但我得到空指针异常。谁能帮我解决他的问题。

4

1 回答 1

1

首先,您必须导入正确的布局。以下是表行布局参数的示例:

设置高度和宽度:

TextView tb_row_proName;
android.widget.TableRow.LayoutParams lp_pro_name = new android.widget.TableRow.LayoutParams(android.widget.TableRow.LayoutParams.WRAP_CONTENT,
android.widget.TableRow.LayoutParams.WRAP_CONTENT);         
tb_row_proName.setLayoutParams(lp_pro_name);

设置边距:

int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, r.getDisplayMetrics());
lp_pro_name.bottomMargin = margin;
于 2013-07-08T13:30:48.360 回答