安卓基础学习 Day03 |常用布局-相对布局

目录

  • 写在前面的话
  • 一、相对布局
    • (一)概述
    • (二)注意事项
    • (三)常用属性
    • (四)测试
  • 二、补充内容

写在前面的话

1、内容参考自B站安卓相关学习视频以及网络。
2、内容如果有不对的,希望可以指出或补充。
3、巩固内容。

一、相对布局

(一)概述

相对布局(RelativeLayout):也是常用布局之一,可以设置某一个控件相对于包裹它的(父容器)或者是和它一起被包裹的另一个控件(兄弟控件)的位置。

适用于较复杂的布局,主要针对的是线性布局嵌入多层的问题。一般采用 RelativeLayout + LinearLayout的layout_weight属性 来搭配使用。

(二)注意事项

1、相对于兄弟控件的位置,必须通过ID来进行指定。

2、指定位置关系时,引用的ID必须在引用之前被定义好(先定义,后引用)。就是引用了一个id,那这个id一定是要存在的。

3、相对于父容器的定位,xx居中对齐方式取false时,就相当于是恢复成默认位置(左上)。

4、再次强调,默认位置是左上。

(三)常用属性

相对布局(RelativeLayout)的部分属性,整理如下。

相对于 属性 作用
父容器
android:layout_alignParentBottom
靠下
true或false
android:layout_centerInParent
垂直又水平居中
android:layout_centerHorizontal
水平居中
兄弟控件
android:layout_toLeftOf
在控件左边
兄弟控件的id
android:layout_above
在控件上边
android:layout_alignBottom
底边对齐

注:
1.属性名称带有parent的表示是父容器(可以以此来判断)。
2.相对于父容器的值为flase时表示作用相反(不包括居中方式),如android:layout_alignParentBottom="false"就是靠上的效果。

(四)测试

1、相对于父容器

① android:layout_alignParentBottom=“true”,效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第1张图片
② android:layout_centerInParent=“true”,效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第2张图片
③ android:layout_centerHorizontal=“true”,效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第3张图片
④ 组合测试

这里我试的是 android:layout_centerHorizontal=“true” + android:layout_alignParentBottom=“true”,效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第4张图片
2、相对于兄弟控件

为了方便看出效果,将控件1(Test1)设置到界面居中位置。

① android:layout_toLeftOf ="@+id/引用的已有id名称",效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第5张图片
② android:layout_above="@+id/引用的已有id名称",效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第6张图片
③ android:layout_alignBottom="@+id/引用的已有id名称",效果如下。
安卓基础学习 Day03 |常用布局-相对布局_第7张图片

二、补充内容

1、layout_weight属性是线性布局(LinearLayout)特有的属性。

2、关于Android的单位:

sp(scaled pixels,可缩放像素)一般是作为文字大小的单位,dp(density-independent pixels,密度无关像素)则是作为其它元素的单位 。
dp与sp

3、关于控件的id名称

一般都是用的 @+id/xx来定义id和引用已有id

  • @+id/自定义id名称:创建新的id
  • @id/已有的id名称 或者 @+id/已有的id名称:引用id

你可能感兴趣的:(学习日志)