1.相对布局
相对布局由RelativeLayout代表,相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的,因此这种布局方式被称为相对布局。
如果A组件的位置是由B组件的位置来决定的,Android要求先定义B组件,再顶定义A组件。
RelativeLayout的XML属性及相关方法说明
XML属性
相关方法
说明
android:gravity
setGravity(int)
设置该布局容器内部各子组件的对齐方式
android:ignoreGravity
setIgnoreGravity(int)
设置哪个组件不受gravity组件的影响
RelativeLayout.LayoutParams里只能设为boolean值得属性
属性
说明
android:layout_centerHorizontal
控制该子组件是否位于布局容器的水平居中位置
android:layout_centerVertical
控制该子组件是否位于布局容器的垂直居中位置
android:layout_Inparent
控制该子组件是否位于布局容器的中央位置
android:layout_alignParentBottom
控制该子组件是否位于布局容器低端对齐
android:layout_alignParentLeft
控制该子组件是否位于布局容器左边对齐
android:layout_alignParentRight
控制该子组件是否位于布局容器右边对齐
android:layout_alignParentTop
控制该子组件是否位于布局容器顶端对齐
RelativeLayout.LayoutParams里只能设为其他UI组件ID的属性
XML属性
说明
android:layout_toRightOf
控制该子组件位于给出ID组件的右侧
android:layout_toLeftOf
控制该子组件位于给出ID组件的左侧
android:layout_above
控制该子组件位于给出ID组件的上方
android:layout_below
控制该子组件位于给出ID组件的下方
android:layout_alignTop
控制该子组件位于给出ID组件的上边界对齐
android:layout_alignBottom
控制该子组件位于给出ID组件的下边界对齐
android:layout_alignLeft
控制该子组件位于给出ID组件的左边界对齐
android:layout_alignRight
控制该子组件位于给出ID组件的右边界对齐
展示梅花布局效果:
1.xml version="1.0" encoding="utf-8"?>
2.
6.
7.
12. TextView>
13.
14.
20. TextView>
21.
22.
28. TextView>
29.
30.
36. TextView>
37.
38.
44. TextView>
45.RelativeLayout>
效果图:
2.绝对布局
绝对布局由AbsoluteLayout代表,Android不提供如何布局控制,而是由开发人员自己通过X坐标,Y坐标来控制组件的位置。
XML属性说明
XML属性
说明
android:layout_x
指定该子组件的X坐标
android:layout_y
指定该子组件的Y坐标
Android中一般支持以下常用的距离单位
px(像素):每个px对应屏幕上的一个点。
dip或dp(device independent pixels,设备独立像素):一种及与屏幕密度的抽象单位。 在每英寸160点的显示器上,1dip=1px,但随着屏幕密度的改变,dip与px的换算会发生改变。
sp(scaled pixels,比例像素):主要处理字体的大小,可以根据用户的字体大小首选项进行缩放
in(英寸):标准长度单位
mm(毫米):标准长度单位
pt(磅):标准长度单位,1/72英寸
登录界面:
1.xml version="1.0" encoding="utf-8"?>
2.
6.
7.
12. TextView>
13.
18. EditText>
19.
24. TextView>
25.
31. EditText>
32.
37.AbsoluteLayout>