tvColu2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f));
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
通过Java code来设置View的layout_weight。
方法一:
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, 1.0f);
然后:View.setLayoutParams(param),则这个View在它的LinearLayout的layout_weight为1.0f (表示1.0是浮点数,或者 (float)1.0)
方法二:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
params.weight = 1.0f;
Button button = new Button(this);
button.setLayoutParams(params);
为什么会有方法二呢?因为有可能会通过new LinearLayout.LayoutParams来设置Gravity,比如:
leftArrow = new ImageButton(context);
lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, Gravity.LEFT);
lp.weight = 1.0f;
leftArrow.setLayoutParams(lp);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
第一篇
private LinearLayout generateHeadOfControl() { LinearLayout LayoutHead = createLayout(LinearLayout.HORIZONTAL); Button DateButton = generateDateButton(); Button ItemButton = generateItemButton(); DateButton.setLayoutParams(new LinearLayout.LayoutParams(100, LinearLayout.LayoutParams.WRAP_CONTENT)); ItemButton .setLayoutParams(new LinearLayout.LayoutParams(100, LinearLayout.LayoutParams.WRAP_CONTENT)); layoutHead.addView(DateButton); layoutHead.addView(ItemButton); return layoutHead; } ========================== 注意在LinearLayout里设置params用的是ViewGroup的LayoutParams,会出错,上面的代码OK了~
第二篇
textView.setLayoutParams(new TextSwitcher.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));为什么要用TextSwitcher的LayoutParams呢。查一查API,可以看到这么一句话These supply parameters to the parent of this view specifying how it should be arranged。也就是说一定要用父控件的LayoutParams。如果父控件是LinearLayout,当然就必须写成LinearLayout.LayoutParams