相对布局
RelativeLayout中子控件常用属性:
-
相对于父控件
android:layout_alignParentTop=“true”
android:layout_alignParentTop ———控件的顶部与父控件的顶部对齐;
android:layout_alignParentBottom ——控件的底部与父控件的底部对齐;
android:layout_alignParentLeft ——控件的左部与父控件的左部对齐;
android:layout_alignParentRight ——控件的右部与父控件的右部对齐; -
相对给定Id控件
android:layout_above=“@id/**”
android:layout_above——控件的底部置于给定ID的控件之上;
android:layout_below——控件的底部置于给定ID的控件之下;
android:layout_toLeftOf——控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf ——控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline ——控件的baseline与给定ID的baseline对齐;
android:layout_alignTop ——控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom——控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft ——控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight ——控件的右边缘与给定ID的右边缘对齐; -
居中
android:layout_centerInParent=“true”
android:layout_centerHorizontal ——水平居中;
android:layout_centerVertical ——垂直居中;
android:layout_centerInParent ——父控件的中央;
padding和margin
padding指的是内边框的边距,margin指的是外边框边距。
线性布局
线性布局只能横向或竖向摆法控键。
weight属性
weight是用来等比例的划分区域的
每一个区域可以有一个weight可以来划分父区域,父区域一共将被分为所有子区域weight的和,weight越大,分得的父区域就越大。
如下图所示,假如有3个textview,他们的weight分别为1,2,2。则父区域一共被分为5份,3个textview区域的大小为1:2:2。
在表格布局中经常使用,让两个组件平分单元格。
layout_gravity与gravity
layout_gravity用来控制组件在父区域中的对齐方式的
gravity是用来控制组件中内容在组件中的对齐方式
divider
用来画分割线,很少使用
表格布局
表格布局就相当于word中的表格,可以把不同的控键放在不同的单元格中,通过控键所占单元格以及单元格的拉伸收缩,就可以实现不同的布局
常用属性
android:layout_span=“2”------调整控键所占的单元格数,2代表该控键占两个单元格。
android:collapseColumns-------将TableLayout里面指定的列隐藏,若有多列需要隐藏,要用逗号将需要隐藏的列序号隔开。
android:stretchColumns--------设置指定的列为可伸展的列,以填满剩下的多余空白空间
android:shrinkColumns---------设置指定的列为可收缩的列。
TableLayout继承了LinearLayout,本质上是线性布局。所以线性布局能够实现的布局,表格布局也能实现。