LinearLayout是平时开发中很常见的线性布局方式,分为水平和竖直2种,笔者在实际使用中发现了如下问题,希望能帮到别人。
横着的LinearLayout,凡是设置x坐标的属性都不起作用,比如
layout_gravity="right"
,但我们可以利用各种layout_marginXXX
属性来控制,或者通过往中间塞view占位,或者改用FrameLayout或RelativeLayout;竖着的LinearLayout,凡是设置y坐标的属性都不起作用,比如
layout_gravity="bottom"
,但我们可以利用各种layout_marginXXX属性来控制,只有控制x坐标的属性会起作用,比如layout_gravity="right"
;
原因是因为,比如竖直的LinearLayout,那么他的子View在y轴上的坐标算法是基本固定的。