LinearLayout
- 水平对齐的时候,内部组件竖直方向的调整是可调的(layout_gravity)
- 竖直对齐的时候,内部组件的水平方向的调整是可调的
- android:weight搭配宽度或者高度为0dp,跟随方向分配权重
<LinearLayout
android:orientation="horizontal">
<TextView
android:layout_width="100dp" --- 先按照宽度分配必须空间
android:weight="1" --- 然后按比例分配屏幕剩余宽度
android:gravity="right" --- 里面内容对齐方式
android:layout_gravity="right"
/>
</LinearLayout>
RelativeLayout
- 相对布局没有weight和orientation
- 可以控制相对父亲的左右中间
- 可以控制相对同层元素的上下左右
<RelaytiveLayout>
<TextView
android:layout_alignParentBottom="true" -- 父亲底部
android:layout_toRightOf="@id/tv3" -- 同级右边
android:layout_above="@id/tv2" -- 同级上边
android:layout_alignLeft="@id/tv1" -- 同级左边
android:layout_centerInParent="true" -- 父亲中间
/>
</RelaytiveLayout>
FrameLayout
- 任何组件都是独立的
- 设置方式与线性布局一致(layout_gravity)
TableLayout
- 写了宽高没用,内部组件写了也没用,只有包裹内容
<TableLayout
android:stretchColumns="1"
>
<TableRow>
<TextView
android:layout_column="1" --- 制定column值
android:layout_span="2" --- 占据两列
/>
</TableRow>
</TableLayout>
AbsoluteLayout
相对X\Y坐标,不会用到。