Android学习笔记(二):相对布局管理器(RelativeLayout)
布局管理器----相对布局管理器(RelativeLayout)
-
为什么要进行界面布局?
布局可以使界面中杂乱无章的内容变得简洁明了。
简单来说,布局管理器就是一种用来管理界面中的各个控件合理分布的工具。 -
相对布局管理器:
先确定一个控件(组件)为参考点,然后根据相对于参考点的位置依次摆放其他组件。就像班主任排座位,先让小明坐在教室的最中间,小明即为参考点,张三、李四、王五、小芳分别坐在小明的前、后、左、右,这样就是利用几个同学的相对位置来布局。
在activity_main.xml中使用RelativeLayout标签来定义相对布局:
- 布局管理器的基本属性:
android:layout_width:用来设置布局宽度。
android:layout_height:用来设置布局高度。以上两个属性在布局管理器中一般设置为match_parent,即与父容器相同。
android:paddingBotton:设置底内边距。
android:paddingLeft:设置左内边距。
android:paddingRight:设置右内边距。
android:paddingTop:设置顶内边距。以上四个属性可以设置为具体数值,比如16dp;也可以使用尺寸资源进行定义:
- 相对布局管理器RelativeLayout的属性:**
android:gravity属性用来设置各组件摆放方式。比如居中摆放。
android:ignoreGravity属性用来指定哪个组件不受android:gravity所影响。比如利用android:gravity设置所有组件居中摆放,又用android:ignoreGravity设置组件1不受android:gravity影响,这时组件1就会恢复原来的摆放方式。
设置前:
示例:
设置所有控件居中显示:
设置文本控件user不受影响:
- RelativeLayout.LayoutParams
以上属性都是在相对布局管理器中设置的属性,相对布局管理器还有一个内部类,内部类中的属性用来在相对布局管理器的子组件中设置。内部类为RelativeLayout.LayoutParams,下面介绍一下内部类中的几个属性:
以上四个属性用来设置组件相对于参考组件的位置。属性值为参考组件的id。
以上四个属性用来设置组件与父容器的哪个位置对齐。取值为true/false,true为对齐。
以上四个组件用来设置该组件与某个组件如何对齐,比如左对齐、右对齐。取值为某组件的id。
以上三个属性用于设置组件位于布局管理器的什么位置。取值为true/false,true为对齐。
示例:
该布局管理器中有两个子组件:user1,user2。分别显示“Hello World!”和“你好 世界!”。
先设置user2在user1下方
再设置user1在布局管理器的中间位置:
可以看出user2依然在user1下方。如果删掉android:layout_below="@+id/user1" ,user2就会回到原来的位置,这里我不删除。
再设置user2与父容器的右端对齐: