android LinearLayout动态居底?

LinearLayout在另一个LinearLayout中居底?,现在是默认居顶是不是这一句?android:layout_alignParentBottom="true... LinearLayout在另一个LinearLayout中居底?,现在是默认居顶
是不是这一句?

android:layout_alignParentBottom="true"
该如何在代码中设置
view2.setLayoutParams(....)
不知该怎么写?求帮忙
展开
 我来答
wang20064412
推荐于2016-11-15 · TA获得超过219个赞
知道小有建树答主
回答量:149
采纳率:66%
帮助的人:84.1万
展开全部
android:layout_alignParentBottom="true"
这个只有在relativielayout中才会生效,要动态居底可能得算它的高度吧。。
先是得到父linearlayout(fatherll)距离屏幕顶端的距离:int top = fatherll.getTop();
然后得到他的高度:int height = fatherll.getHeight();
他的y坐标:int right = fatherll.getRight();

获取子linearlayout的高度: int sonHeight = sonLl.getHeight();
最后设置子linearlayout的位置
追问
可以尝试改为relativelayout,但是如何在代码中设置居底
我只知道用这句android:layout_alignParentBottom="true"
追答
既然用relativelayout为什么不在xml里面写呢?
网上有很多教程,一种是你要居中的view是动态创建的,一种是将某个view移动到底部

1)
Button button = new Button(this);
button.setText("One");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性
lp.gravity = Gravity.RIGHT;
button.setLayoutParams(lp);
//此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);

LinearLayout linear = new LinearLayout(this);
//注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。
linear.setOrientation(LinearLayout.VERTICAL);
linear.addView(button);
setContentView(linear);

2)你试下下面的方法,不行的话就用setmargin()根据上面已经计算出来的值
RelativeLayout.LayoutParams layoutParams=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.ALIGN_BOTTOM);
view2.setLayoutParams(layoutParams);
y562536056
2013-08-27 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:100万
展开全部
兄弟如果我没记错这是relativelayout的属性吧。
你要居底也不是不可能,在外层linearlayout中加一个<view />比重为1
就可以了一直居底了。或者你把外层的容器改成相对布局,relativelayout.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路亚向前冲8t
2013-08-27 · TA获得超过484个赞
知道小有建树答主
回答量:636
采纳率:0%
帮助的人:439万
展开全部
推荐父布局使用relativielayout相对布局

LinearLayout是线性布局,你说的那些属性都没用。
追问
可以尝试改为relativelayout,但是如何在代码中设置居底
我只知道用这句android:layout_alignParentBottom="true"
追答
写你说这句就可以居底了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式