您的位置:首页 > 其它

「喵神成长史」『布局篇』RelativeLayout(相对布局)

2015-11-08 21:54 267 查看

相对布局基本介绍

相对布局以父容器或者兄弟组件为参考,来显示组件的位置。官方文档上说当多个LinearLayout嵌套时,可以使用RelativeLayout来代替。

重要的xml属性

RelativeLayout的xml属性说明:

属性java方法说明
gravitysetGravity(int)设置容器内组件的对齐方式
ingoreGravitysetIngoreGravity(int)设置为true,组件不受gravity影响
代码:

给EditText控件设置
android:gravity="center"
可以看出gravity设置EditText子元素的位置

运行:



组件以父布局为参考的xml属性:

属性说明
layout_alignParentLeft左对齐
layout_alignParentRight右对齐
layout_alignParentTop顶部对齐
layout_alignParentBottom底部对齐
layout_centerHorizontal水平居中
layout_centerVertical垂直居中
layout_centerInParent处于父容器中心
代码:

梅花布局演示

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- 这个是在左部的 -->
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/center"
android:src="@drawable/e1" />
<!-- 这个是在右部的 -->
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/center"
android:src="@drawable/e2" />
<!-- 这个是在上部的 -->
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_above="@id/center"
android:layout_centerHorizontal="true"
android:src="@drawable/e3" />
<!-- 这个是在下部的 -->
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@id/center"
android:layout_centerHorizontal="true"
android:src="@drawable/e4" />

<!-- 这个是在容器中央的 -->
<ImageView
android:id="@+id/center"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:src="@drawable/center" />

</RelativeLayout>


运行:



以另一个组件为参考的xml属性:

属性说明
layout_toLeftOf位于另一个组件的左边
layout_toRightOf位于另一个组件的右边
layout_above位于另一个组件的上方
layout_toLeft位于另一个组件的下方
layout_alignLeft对齐另一个组件的顶左边界
layout_alignRight对齐另一个组件的右边界
layout_alignTop对齐另一个组件的上边界
layout_alignButtom对齐另一个组件的下边界
组件与父容器的边距的xml属性:

属性说明
layout_margin(偏移量)组件上下左右的偏移量
layout_marginLeft组件离父容器左边的偏移
layout_marginRight组件离父容器右边的偏移
layout_marginTop组件离父容器顶部的偏移
layout_marginButtom组件离父容器底部的偏移
组件内部元素间的边距的xml属性(比如:TextView里的字体)

属性说明
padding(边距)往元素内部上下左右填充一定边距
paddingLeft往元素内部左边填充一定边距
paddingRight往元素内部右边填充一定边距
paddingTop往元素内部顶部填充一定边距
运行:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: