1.线性布局Linear Layout
按排列的方向(orientation)分为水平线性布局(
android:orientation="vertical")和垂直线性布局(
android:orientation="horizontal"//默认的是水平线性布局
)。
线性布局定义了排列方向后,会一直沿着该方向一直排列下去,除非利用嵌套再重新定义。
android:layout_weight="数字" //表示剩余空间该控件所占的百分比,通常用于平均几个控件之间的位置,定义为1
注意: 区分“android:gravity”和“android:layout_gravity”。
android:gravity:是对控件本身来说的,是用来设置“控件自身的内容”应该显示在“控件自身体积”的什么位置,默认值是左侧。
android:layout_gravity:是相对于控件的父元素来说的,设置该控件在它的父元素的什么位置。
2.相对布局Relative Layout
android:layout_alignParentLeft="true" 位于父容器左上角
android:layout_alignParentBottom, android:layout_alignParentTop,
android:layout_alignParentRight 只能在父控件为RelativeLayout时才起作用,而对于像LinearLayout这样的布局不起作用
android:layout_centerInParent="true" 位于布局容器的中央位置;
layout_centerHorizontal位于布局容器水平居中位置;
layout_centerVertical位于布局容器垂直居中位置
被参照控件:控件与控件之间位置
android:layout_below="@id/***" 位于***组件下方
android:layout_toLeftOf="@id/###"位于###组件左则,紧贴并列
控件与控件之间对齐方式
android:layout_alignLeft="@id/***"与***组件左边界紧贴对齐,叠在一起;
android:layout_alignTop="@id/###"与###组件上边界对齐
可以通过另一个控件的ID来确定当前控件的位置(即任意两个控件之间的相对位置)。
android:layout_marginTop=“25dip” //顶部距离
android:gravity=“left” //控件中文本位置
android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上(将该控件置于指定控件的上面);
android:layout_below 将该控件的顶部置于给定ID的控件之下(将该控件置于指定控件的下面);
3.表格布局Table Layout
表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。TableRow可以添加子控件,每添加一个为一列。N个TableRow之间是以N行的行数的方式纵向排列。
android:shrinkColumns="n”:设置第n+1列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。
android:stretchColumns="n”:设置第n+1列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。
列元素(Button)属性,定义子控件。
android:layout_colum:设置该控件在TableRow中指定的列。
android:layout_span:设置该控件所跨越的列数。
android:layout_weight="wrap_content"
android:layout_height="wrap_content"
android:text="xxxxxxx"/>
android:layout_weight="wrap_content"
android:layout_height="wrap_content"
android:text="xxxxxxxx"/>