一、LinearLayout(线性布局)
!布局里是可以套用布局的
Oritation 决定是水平 还是垂直排布
gravity属性:决定它子类的xy位置
gravity属性可以多个连用,用/隔开
layout_gravity有些属性是达不到预定效果时就用gravity 布局之间是可以套用
gravity 属性 可以多个使用 用“|”隔开 如:bottom|center_vertical
android:layout_gravity ( 是本元素相对于父元素的重力方向)
android:gravity (是本元素所有子元素的重力方向)
android:orientation (线性布局以列或行来显示内部子元素)
android:layout_weight (线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大
layout_weight:表示所占比例 如果是match是反比如果是wrap是正比
一个orientation为horizontal的LinearLayout中有一个TextView,则设置TextView的layout_gravity属性为right是否有作用答案:无作用
水平的LinearLayout要从左边开始依次放置布局,所以设置TextView的layout_gravity属性为right不起作用
当作为父layout的LinearLayout的属性为android:rientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等
当作为父layout的LinearLayout的属性为android:rientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical等;
二、RelativeLayout(相对布局)
相对于父类的位置:
android:layout_alignParentLeft="true"子类控件相对当前父类容器靠左边
android:layout_alignParentTop="true"子类控件相对父类容器靠上边
android:layout_marginLeft="41dp"子类控件距离父类容器左边的距离
android:layout_marginTop="33dp"子类控件距离父类容器上边的距离
android:layout_centerInParent="true"子类控件相对父类容器即水平居中又垂直居中
android:layout_centerHorizontal="true"子类控件相对父类容器水平居中
android:layout_centerVertical="true"子类控件相对父类容器垂直居中
子类控件相对于子类控件的位置:
android:layout_below="@+id/button1"该控件位于给定id控件的底部
android:layout_toRightOf="@+id/button1"该控件位于给定id控件的右边
android:layout_above="@+id/button1"该控件位于给定id控件的上面
android:layout_toLeftOf="@+id/button1"该控件位于给定id控件的左边
android:layout_alignBaseline="@+id/button1"该控件的内容与给定id控件的内容在一条线上
android:layout_alignBottom 该控件的底部边缘与给定ID控件的底部边缘对齐
android:layout_alignLeft 该控件的左边缘与给定ID控件的左边缘对齐
android:layout_alignRight 该控件的右边缘与给定ID控件的右边缘对齐
android:layout_alignTop 该控件的顶部边缘与给定ID控件的顶部边缘对齐
三、FrameLayout(帧布局)特性:
1、所有放在布局里的控件,都按照层次堆叠在屏幕的左上角;
2、后加进来的控件覆盖前面的控件;
3、由1和2确定:帧布局没有gravity,以及layout_gravity属性;
4、可以在控件中使用layout_gravity定义控件的放置方式。
前景图:永远处于帧布局最顶的,直接面对用户的图像,,就是不会被覆盖的图片
常用属性:android:foreground-设置前景色,在所有子视图的前面
android:background-设置背景色
android:keepScreenOn-保持屏幕唤醒
android:foregroundGravity-设置前景色的位置
四、AbsoluteLayout布局(一般不会去用 兼容性太差)
主要:
Layout_x=36ddip
Layout_y=36ddip
固定死X,Y坐标
五、TableLayout(表格布局)
TableLayout父对象属性
android:collapseColumns="0,2" 隐藏索引列隐藏了第1和第3列第一列为0
android:shrinkColumns="2" 收缩列内容即自动换行(如果超出屏幕)自动为第三列换
android:stretchColumns=”0” 填补空白即让第一列变宽使得空白消失
可以用“*”代表所有列android:stretchColumns=”*” 时即是平均分配
<
android:layout_coumn="1"(该控件显示在第二列)
android:layout_span="2"(该控件占据2列)
/>这两个是放在子对象中的属性