简单地说就是控件或者布局按照水平方向或者垂直方向依次排列!
垂直方向标签内属性为
android:orientation="vertical"
水平方向
标签内属性为
android:orientation="horizontal"
其中LinearLayout的排列方向为水平时,内部控件的宽度不可以指定为match_parent,其中LinearLayout的排列方向为垂直时,内部控件的高度不可以指定为match_parent
在Button中添加android:layout_gravity
属性
该属性指定控件在布局中的位置
此时当线性布局中属性android:orientation的属性值为"horizontal",android:layout_gravity只有在垂直方向上有效。
此时当线性布局中属性android:orientation的属性值为"vertical",android:layout_gravity只有在水平方向上有效。
布局中的android:layout_weight
该属性允许我们使用布局的方式指定控件的大小
想看代码和效果
此时我们虽然将android:layout_width="0dp"
设置成0dp,但是控件依然会显示出来,此时他们的的宽度由android:layout_weight
决定
具体怎么分配呢
我们假设布局为sum,在水平方向上共有两个空间其中控件1的android:layout_weight
为2,控件2的android:layout_weight
的值为3.则控件1在水平方向上占sum2/5,控件1在水平方向上占sum3/5。
Button将会按照wrap_content计算而EditText会占满屏幕所有的剩余空间
android:layout_alignLeft表示一个控件的左边缘与另一个空间的左边缘对齐。
android:layout_alignRight表示一个控件的右边缘与另一个空间的右边缘对齐。