1、内容参考自B站安卓相关学习视频以及网络。
2、内容如果有不对的,希望可以指出或补充。
3、巩固内容。
相对布局(RelativeLayout):也是常用布局之一,可以设置某一个控件相对于包裹它的(父容器)或者是和它一起被包裹的另一个控件(兄弟控件)的位置。
适用于较复杂的布局,主要针对的是线性布局嵌入多层的问题。一般采用 RelativeLayout + LinearLayout的layout_weight属性
来搭配使用。
1、相对于兄弟控件的位置,必须通过ID来进行指定。
2、指定位置关系时,引用的ID必须在引用之前被定义好(先定义,后引用)。就是引用了一个id,那这个id一定是要存在的。
3、相对于父容器的定位,xx居中对齐方式取false时,就相当于是恢复成默认位置(左上)。
4、再次强调,默认位置是左上。
相对布局(RelativeLayout)的部分属性,整理如下。
相对于 | 属性 | 作用 | 值 |
---|---|---|---|
父容器 |
|
|
|
|
|
||
|
|
||
兄弟控件 |
|
|
|
|
|
||
|
|
注:
1.属性名称带有parent的表示是父容器(可以以此来判断)。
2.相对于父容器的值为flase时表示作用相反(不包括居中方式),如android:layout_alignParentBottom="false"就是靠上的效果。
1、相对于父容器
① android:layout_alignParentBottom=“true”,效果如下。
② android:layout_centerInParent=“true”,效果如下。
③ android:layout_centerHorizontal=“true”,效果如下。
④ 组合测试
这里我试的是 android:layout_centerHorizontal=“true” + android:layout_alignParentBottom=“true”,效果如下。
2、相对于兄弟控件
为了方便看出效果,将控件1(Test1)设置到界面居中位置。
① android:layout_toLeftOf ="@+id/引用的已有id名称",效果如下。
② android:layout_above="@+id/引用的已有id名称",效果如下。
③ android:layout_alignBottom="@+id/引用的已有id名称",效果如下。
1、layout_weight属性是线性布局(LinearLayout)特有的属性。
2、关于Android的单位:
sp(scaled pixels,可缩放像素)一般是作为文字大小的单位,dp(density-independent pixels,密度无关像素)则是作为其它元素的单位 。
dp与sp
3、关于控件的id名称
一般都是用的 @+id/xx
来定义id和引用已有id