我有一个父级LinearLayout和MATCH_PARENT的宽度和高度。我试图用java代码找出设置重力和layout_gravity。
LinearLayout l=new LinearLayout(this);
l.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
l.setLayoutParams(ll);
l.setOrientation(LinearLayout.VERTICAL);
现在我使用以下代码添加一个Button:
LayoutParams llb=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
llb.gravity=Gravity.RIGHT;
b.setLayoutParams(llb);
现在,如果我将此Button添加到LinearLayout l并使其成为内容视图
l.addView(b);
setContentView(l);
一切正常。该按钮显示在中心和右侧。
但是,如果我将此Button嵌入LinearLayout,然后将此LinearLayout添加到外部布局,如下所示
LinearLayout l2=new LinearLayout(this);
l2.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams ll2=new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
l2.setLayoutParams(ll2);
l2.addView(b);
//将此添加到主布局。该按钮具有与上面相同的LayoutParams。
l.addView(l2);
setContentView(l);
按钮始终显示在左侧,此
llb.gravity=Gravity.RIGHT;
似乎不起作用。
请更新为何无效。
感谢