我正在尝试动态创建TableRow对象,并将它们添加到tableelayout。 TableRow对象有两个项,一个TextView和一个CheckBox。TextView项需要将其布局权重设置为1,以将CheckBox项推到最右边。
我找不到关于如何以编程方式设置TextView项的布局权重的文档。
我正在尝试动态创建TableRow对象,并将它们添加到tableelayout。 TableRow对象有两个项,一个TextView和一个CheckBox。TextView项需要将其布局权重设置为1,以将CheckBox项推到最右边。
我找不到关于如何以编程方式设置TextView项的布局权重的文档。
当前回答
TextView txtview = new TextView(v.getContext());
LayoutParams params = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f);
txtview.setLayoutParams(params);
1f表示weight=1;你可以给2f或3f,视图将根据空间移动
其他回答
TextView txtview = new TextView(v.getContext());
LayoutParams params = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f);
txtview.setLayoutParams(params);
1f表示weight=1;你可以给2f或3f,视图将根据空间移动
TextView text = new TextView(v.getContext());
text.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1f));
(OR)
TextView tv = new TextView(v.getContext());
LayoutParams params = new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f);
tv.setLayoutParams(params);
1f表示weight=1;根据您的需要,您可以给出2f或3f,视图将根据空间移动。为了在线性布局中使视图之间的指定距离使用weightsum For“LinearLayout”。
LinearLayout ll_Outer= (LinearLayout ) view.findViewById(R.id.linearview);
LinearLayout llInner = new LinearLayout(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.WrapContent);
llInner.Orientation = Orientation.Horizontal;
llInner.WeightSum = 2;
ll_Outer.AddView(llInner);
还有另一种方法。如果你只需要设置一个参数,例如'height':
TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(params);
你也可以像这样单独给出权重,
LayoutParams lp1 = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
lp1.weight=1;
在那个布局中设置布局参数
创建参数变量
android.widget.LinearLayout.LayoutParams params = new android.widget.LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1f);
1f是权重变量
设置您的小部件或布局
TextView text = (TextView) findViewById(R.id.text);
text.setLayoutParams(params);