我以编程方式声明了一个水平方向的linearlayout。
如何动态设置该布局的宽度,高度和边距。
我试过如下:
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);
但我得到空指针异常。
任何人都可以帮我解决他的问题。
答案 0 :(得分:1)
首先,您必须导入正确的布局。这是一个表行layoutParams的例子:
设置高度和宽度:
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;