Android之RelativeLayout

本文详细介绍了Android布局中的控件位置和大小的基本概念,并列举了View类中与位置有关的方法。此外,还深入探讨了RelativeLayout中子控件的各种布局属性及其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android布局基本知识

我们知道,在布局文件中定义一个控件(包括布局控件),最基本的就是要定义控件的位置(相对于父控件或者同级控件)和大小。大小包括宽度和高度,位置包括上、下、左、右。位置和大小会相互制约,相互影响。

在布局文件中必须定义控件的初始大小,也就是宽度和高度,而位置则默认为左上角。

Android的View类中几个与位置有关的方法

1.getTop()。上边框相对于父控件上边框的距离。

2.getBottom()。下边框相对于父控件上边框的距离。

3.getLeft()。左边框相对于父控件左边框的距离。

4.getRight()。右边框相对于父控件左边框的距离。

所以:

高度=getBottom() - getTop();

宽度=getRight() - getLeft()。

RelativeLayout的子控件生效属性

// 相对于给定ID控件

android:layout_above 将该控件的底部置于给定ID的控件之上;

android:layout_below 将该控件的底部置于给定ID的控件之下;

android:layout_toLeftOf    将该控件的右边缘与给定ID的控件左边缘对齐;

android:layout_toRightOf  将该控件的左边缘与给定ID的控件右边缘对齐;


android:layout_alignBaseline  将该控件的baseline与给定ID的baseline对齐;

android:layout_alignTop        将该控件的顶部边缘与给定ID的顶部边缘对齐;

android:layout_alignBottom   将该控件的底部边缘与给定ID的底部边缘对齐;

android:layout_alignLeft        将该控件的左边缘与给定ID的左边缘对齐;

android:layout_alignRight      将该控件的右边缘与给定ID的右边缘对齐;

// 相对于父组件

android:layout_alignParentTop      如果为true,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLeft      如果为true,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight    如果为true,将该控件的右部与其父控件的右部对齐;

// 居中

android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;

android:layout_centerVertical     如果为true,将该控件的置于垂直居中;

android:layout_centerInParent   如果为true,将该控件的置于父控件的中央;

// 指定势力范围

android:layout_marginTop      上部势力范围;

android:layout_marginBottom 下部势力范围;

android:layout_marginLeft   左部势力范围;

android:layout_marginRight   右部势力范围;

注意:如果将android:layout_alignParentTop、android:layout_alignParentBottom、android:layout_alignParentLeft和android:layout_alignParentRight都设置为true,将android:layout_marginTop、android:layout_marginBottom、android:layout_marginLeft和android:layout_marginRight都设置为100dp,那么子控件并不会充满父控件,而是子控件的上下左右都会有100dp的空白(势力范围),这说明margin的优先级高于alignParent。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值