1.线性布局
线性布局由LinearLayout类来代表,它们将容器里的组件一个挨着一个地排列起来。不仅可以控制个组件横向排列,也可控制各组件纵向排列。
LinearLayout的常用XML属性及相关方法的说明
XML属性 | 相关方法 | 说明 |
android:gravity | setGravity(int) | 设置布局管理器内组件的对齐方式。该属性支持top,bottom,left,right,center_certical, center_horizontal,fill_horizontal,center, fill,clip_vertical,clip_horizontal。也可以同时制定多种堆砌方式的组合,例如left|center_horizontal 代表出现在屏幕左边,而且垂直居中。竖线前后千万不能出现空格 |
android:orientation | setOrientation(int) | 设置布局管理器内组件的排列方式,可以设置为 horizontal(水平排列)、vertical(垂直排列、默认值)两个值的其中之一 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="right|center_horizontal"> <Button android:layout_height="wrap_content" android:text="@string/btl1" android:id="@+id/btl1" android:layout_width="94dp"> </Button> <Button android:layout_height="wrap_content" android:text="@string/btl2" android:id="@+id/btl2" android:layout_width="94dp"> </Button> <Button android:layout_height="wrap_content" android:text="@string/btl3" android:id="@+id/btl3" android:layout_width="94dp"> </Button> <Button android:layout_height="wrap_content" android:text="@string/btl4" android:id="@+id/btl4" android:layout_width="94dp"> </Button> <Button android:layout_height="wrap_content" android:text="@string/btl5" android:id="@+id/btl5" android:layout_width="94dp"> </Button> <Button android:layout_height="wrap_content" android:text="@string/btl6" android:id="@+id/btl6" android:layout_width="94dp"> </Button> </LinearLayout>
2.表格布局
表格布局由TableLayout所代表,表格布局采用行,列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行,列,而是通过添加TableRow,其他组件来控制表格的行数和列数。
每次想TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它可以不断地添加其他组件,每添加一个子组件该表格就增加一列。
TableLayout的常用XML属性及相关方法的说明
XML属性 | 相关方法 | 说明 |
android:collapseColumns | setColumnCollapsed(int,boolean) | 设置需要被隐藏的列的列序号,多个列序号之间用逗号隔开 |
android:shrinkColumns | setShrinkAkllColumns(boolean) | 设置允许被收缩的列的列序号,多个列序号之间用逗号隔开 |
android:stretchColumns | setStretchAllColumns(boolean) | 设置允许被拉伸的列的列序号,多个列序号之间用逗号隔开 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 第一个表格布局,指定第2列允许收缩,第3列允许拉伸 --> <TableLayout android:id="@+id/tl1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns="1" android:stretchColumns="2" > <!-- 独占一行 --> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="独自一行的按钮" android:id="@+id/btt1"> </Button> <TableRow > <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮" android:id="@+id/btt2" > </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="允许收缩按钮" android:id="@+id/btt3"> </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="可以被允许拉伸按钮" android:id="@+id/btt4"> </Button> </TableRow> </TableLayout> <!-- 第二个表格布局,指定第2列隐藏 --> <TableLayout android:id="@+id/tl2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:collapseColumns="1" > <!-- 独占一行 --> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="独自一行的按钮" android:id="@+id/btt5"> </Button> <TableRow > <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮1" android:id="@+id/btt6" > </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮3" android:id="@+id/btt7"> </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮3" android:id="@+id/btt8"> </Button> </TableRow> </TableLayout> <!-- 第三个表格布局,指定第2列和第3列允许拉伸 --> <TableLayout android:id="@+id/tl3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1,2" > <!-- 独占一行 --> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="独自一行的按钮" android:id="@+id/btt9"> </Button> <TableRow > <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮1" android:id="@+id/btt10" > </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="允许拉伸按钮" android:id="@+id/btt11"> </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="普通按钮3" android:id="@+id/btt12"> </Button> </TableRow> <TableRow > <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="允许拉伸按钮" android:id="@+id/btt13" > </Button> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="允许拉伸按钮" android:id="@+id/btt14"> </Button> </TableRow> </TableLayout> </LinearLayout>效果图:
3.帧布局
帧布局由FrameLayout所代表,帧布局容器为每个加入其中的组件创建一个空白的区域(成为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。也就是说,把组件一个一个的叠加在一起。
FrameLayout的常用XML属性及相关方法的说明
XML属性 | 相关方法 | 说明 |
android:foreground | setForeground(Drawable) | 设置该帧布局容器的前景图像 |
android:foregroundGravity | setForegroundGravity(int) | 定义绘制前景图像的gravity属性 |
渐进效果
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- 一次定义7个Textview,先定义的TextView位于底层,后定义的TextView位于上层 --> <TextView android:id="@+id/view01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="210px" android:height="50px" android:background="#ff0000"/> <TextView android:id="@+id/view02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="180px" android:height="50px" android:background="#dd0000"/> <TextView android:id="@+id/view03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="150px" android:height="50px" android:background="#bb0000"/> <TextView android:id="@+id/view04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="120px" android:height="50px" android:background="#990000"/> <TextView android:id="@+id/view05" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="90px" android:height="50px" android:background="#770000"/> <TextView android:id="@+id/view06" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="60px" android:height="50px" android:background="#550000"/> <TextView android:id="@+id/view07" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="30px" android:height="50px" android:background="#330000"/> </FrameLayout>
效果图:

本人开了个充值淘宝网店。有需要的朋友请访问的店铺并拍下所充值的话费,
本店已加入消费保障服务计划,货源来源于淘宝充值平台,安全可靠便捷,
支付过后立即到账