LinearLayout
线性布局控件,它包含的子控件将以横向或竖向的方式排布
属性:
android:orientation–决定他子类控件的排布方式
值有:vertical,horizontal
android:gravity–决定他子类的xy的位置
值有:center_vertical,center_horizontal,center,right,left,bottom
要用多个值则用/给开
其子类控件在LinearLayout中常用的属性:
android:layout_gravity
android:layout_weight=”1”本身控件占当前父容器的一个比例,可为小数
PS:1,layout_gravity调整该布局相对父布局的位置
gravity是调整该布局中子布局的位置
2,水平的LinearLayout要从左边开始依次放置布局,所以设置TextView的layout_gravity属性为right不起作用
RelativeLayout
相对布局控件。它包含的子控件将以控件之间的相对位置或者子类控件相对父类控件的相对位置,
子类控件相对父类控件的相对位置属性:
android:layout_alignParentLeft=”true”–子类控件相对当前父类容器靠左
android:layout_alignParentTop=”true”–子类控件相对当前父类容器靠上边
android:layout_marginLeft=”41dp”–子类控件距离父类容器左边的距离
android:layout_marginTop=”33dp”–子类控件距离父类容器上边的距离
android:layout_centerInParent=”true”–子类控件相对父类容器既水平居中又垂直居中
android:layout_cneterHorizontal = “true” –子类控件相对父类容器水平居中
android:layout_centerVertical=”true”–子类控件相对父类容器垂直居中
子类控件相对子类控件位置属性:
android:layout_below = “@+id/”–该控件位于给定id控件底部
android:layout_toRightOf = “@+id/”
android:layout_above = “@+id/”
android:layout_toLeftOf = “@+id/”
android:layout_alignBaseline = “@+id/”该控件的内容与给定id控件在一条线上
android:layout_alignBottom –该控件的底部边缘与给定ID控件底部边缘对齐
android:layout_alignLeft= “@+id/”
android:layout_alignRight= “@+id/”
android:layout_alignTop= “@+id/”
PS:B RelativeLayout布局中的子布局有gravity属性无layout_gravity属性
FrameLayout
帧布局。所有的子元素都不能被指定放置的位置,它们统统放在这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分或全部遮挡。
android:foreground设置前景图
AbsoluteLayout
绝对布局(又称坐标布局)。可以直接指定子元素的绝对位置。由于手机屏幕尺寸差别比较大,使用决定定位的适应性会比较差,在屏幕的适配上有缺陷。
属性:
android:layout_x=”35dip”
android:layout_y
TableLayout
表格布局。以行列的形式管理子控件,每一行为一个TableRow的对象,也可以是一个View对象。
全局属性:
android:collapseColumns = “1,2”隐藏从0开始的索引列。用逗号隔开
android:shrinkColumns = “1,2”收缩从0开始的索引列。当可收缩的列太宽内容过多不会被挤出屏幕。可以通过‘*’代替收缩所有列。
一列能同时表示收缩和拉伸
android:stretchColumns = “1,2”拉伸从0开始的索引列。以填满剩下的多余空白空间。
局部属性(内部控件所用属性):
android:layout_column=”1’ 该控件显示在第二列
android:layout_span=”2” 该控件占两列