LinearLayout:线性布局
线性布局类似于div段落,分为水平(vertical)和垂直(horizontal)分布,通过orientation属性设置。
layout_width和layout_height分别表示布局长度和高度,有三种属性可以选择:
fill_parent:充满父窗体
match_parent:同fill_parent,但使用率较高
wrap_content:自适应大小
例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" //宽度充满父窗体 android:layout_height="fill_parent" //高度充满父窗体 android:orientation="vertical"> //水平分布 </LinearLayout>与div段落相同,布局方式也可以相互套用,例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" //宽度充满父窗体 android:layout_height="fill_parent" //高度充满父窗体 android:orientation="vertical"> //水平分布 <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" //自适应大小 android:text="请输入身份证号码:" android:textSize="50px"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right"> //向右侧靠拢 <EditText android:id="@+id/Input_ID" android:layout_width="800px" android:layout_height="wrap_content"/> //文本输入控件 <Button android:id="@+id/Search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查询" android:onClick="Search_onClick"/> //按钮 </LinearLayout> <TextView android:id="@+id/Text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text=""/> //文本输出控件 </LinearLayout>
FrameLayout:框架布局
AbsoluteLayout:绝对布局
相当于position属性指定为绝对位置(absolute)的div段落,其中所有控件位置均由X,Y坐标指定,例如:
layout_width_x:20dp
layout_width_y:20dp
// dp 是密度比单位,不同于像素单位px,对于屏幕尺寸多种多样的安卓手机来说,用像素来确定位置已然无法满足需求,像素比的出现很好的解决了这一问题。
RelativeLayout:相对布局
使用率较高的一种布局方式,通过控件与其他控件位置关系来布局,例如:
↓在RelativeLayout中套用LinearLayout来实现一个底部菜单栏的布局效果↓
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" //使位于线性布局中的控件横向居中排列 android:background="#C0C0C0" //设置线性布局的背景颜色 android:layout_alignParentBottom="true"> //使线性布局位于其父窗体的底部,即屏幕最下端 <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="null" //设置按钮背景色为透明 android:text="按钮1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="null" android:text="按钮2"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="null" android:text="按钮3"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="null" android:text="按钮4"/> </LinearLayout> </RelativeLayout>
除相对于父窗体的底端之外,还存在顶端,居中,居左和居右等等属性,另外还有相对于单个控件的上下左右四个方向等等,这里不一一列举,请自行查阅相关属性。
TableLayout:表格布局