LinearLayout线性布局
RelativeLayout相对布局
FrameLayout帧布局
在这个布局中,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="200dp"
android:layout_height="200dp"
android:text="第一个页面"
android:background="#785435"
android:layout_gravity="center"/>
<TextView
android:id="@+id/textView2"
android:layout_width="150dp"
android:layout_height="150dp"
android:text="第二个页面"
android:background="#985764"
android:layout_gravity="center"/>
<TextView
android:id="@+id/textView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="第三个页面"
android:background="#564238"
android:layout_gravity="center"/>
<TextView
android:id="@+id/textView4"
android:layout_width="80dp"
android:layout_height="80dp"
android:text="第四个页面"
android:background="#697524"
android:layout_gravity="center"/>
</FrameLayout>
AbsoluteLayout绝对布局
又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy)。
实际开发中比较少用到,因为使用绝对定位对屏幕尺寸的适应性会比较差,在屏幕的适配上有缺陷。
TableLayout表格布局
以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。
·TableLayout的属性(全局属性)
android:collapseColumns="1,2"
隐藏从0开始的索引列。列直接必须用逗号隔开:1,2,5
android:shrinkColumns="1,2"
收缩从0开始的索引列。当可收缩的列太宽(内容过多)不会被挤出屏幕,列直接必须用逗号隔开:1,2,5。可以通过“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。
android:stretchColumns="1,2"
拉伸从0开始的索引列。以填满剩下的多余空白空间,列直接必须用逗号隔开:1,2,5。可以通过“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。
·TableLayout的局部属性(内部控件所用属性)
android:layout_column="1" 该控件显示在第2列
android:layout_span="2" 该控件占据2列