LayoutParams重力不起作用
我有一个父MATCH_PARENT的LinearLayout的宽度和高度。我试图找出设置重力和layout_gravity与Java代码。
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);
现在,如果我将此按钮添加到LinearLayout l并使其成为内容视图
l.addView(b);
setContentView(l);
所有事情都正常工作。 该按钮显示在中心和右侧。
但是,如果我将这个Button嵌入到LinearLayout中,然后将此LinearLayout添加到外部Layout,如下所示
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;
似乎没有工作。
请更新为什么这不起作用。
谢谢
链接地址: http://www.djcxy.com/p/93277.html