android LinearLayout动态居底?
LinearLayout在另一个LinearLayout中居底?,现在是默认居顶是不是这一句?android:layout_alignParentBottom="true...
LinearLayout在另一个LinearLayout中居底?,现在是默认居顶
是不是这一句?
android:layout_alignParentBottom="true"
该如何在代码中设置
view2.setLayoutParams(....)
不知该怎么写?求帮忙 展开
是不是这一句?
android:layout_alignParentBottom="true"
该如何在代码中设置
view2.setLayoutParams(....)
不知该怎么写?求帮忙 展开
3个回答
展开全部
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的位置
这个只有在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);
展开全部
兄弟如果我没记错这是relativelayout的属性吧。
你要居底也不是不可能,在外层linearlayout中加一个<view />比重为1
就可以了一直居底了。或者你把外层的容器改成相对布局,relativelayout.
你要居底也不是不可能,在外层linearlayout中加一个<view />比重为1
就可以了一直居底了。或者你把外层的容器改成相对布局,relativelayout.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐父布局使用relativielayout相对布局
LinearLayout是线性布局,你说的那些属性都没用。
LinearLayout是线性布局,你说的那些属性都没用。
追问
可以尝试改为relativelayout,但是如何在代码中设置居底
我只知道用这句android:layout_alignParentBottom="true"
追答
写你说这句就可以居底了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询