Android 布局之RelativeLayout


1 RelativeLayout简介

RelativeLayout是相对布局。

RelativeLayout布局属性

1.1 与parent相对的属性

android:layout_alignParentTop
表示widget的顶部和Container的顶部对齐。

android:layout_alignParentBottom
表示widget的底部和Container的底部对齐。

android:layout_alignParentStart
表示widget的左边和Container的起始边缘对齐。

android:layout_alignParentEnd
表示widget的左边和Container的结束边缘对齐。

android:layout_alignParentLeft
表示widget的左边和Container的左边对齐。

android:layout_alignParentRight
表示widget的右边和Container的右边对齐。

android:layout_centerInParent
表示widget处于Container平面上的正中间。

android:layout_alignWithParentIfMissing
若设置true,则当该控件layout_toLeftOf, layout_toRightOf等找不到相对的参考widget时,就以父container为参考。

1.2 与widget相对的属性

android:layout_above
表示该widget位于参数值标识的widget的上方。

android:layout_below
表示该widget位于参数值标识的widget的下方。

android:layout_alignTop
表示该widget的顶部参数值标识的widget的顶部对齐。

android:layout_alignBottom
表示该widget的底部与参数值标识的widget的底部对齐。

android:layout_alignStart
表示该widget的起始边缘与参数值标识的widget的起始边缘对齐。

android:layout_alignEnd
表示该widget的结束边缘与参数值标识的widget的结束边缘对齐。

android:layout_alignLeft
表示该widget的左边与参数值标识的widget的左边对齐。

android:layout_alignRight
表示该widget的右边参数值标识的widget的右边对齐。

android:layout_centerHorizontal
表示widget处于Container水平方向上的中间。

android:layout_centerVertical
表示widget处于Container垂直方向上的中间。

android:layout_alignBaseline
表示该widget的BaseLine与参数值标识的widget的BaseLine对齐。

android:layout_toLeftOf
表示该widget位于参数值标识的widget的左方。

android:layout_toRightOf
表示该widget位于参数值标识的widget的右方。

android:layout_toStartOf
表示该widget结束边缘与参数值标识的widget的起始边缘对齐

android:layout_toEndOf
表示该widget起始边缘与参数值标识的widget的结束边缘对齐


2 RelativeLayout示例

创建一个activity,包含1组RelativeLayout。

layout文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reminder" />
<Button
android:id="@+id/cancel"
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_alignParentRight="true"
android:text="@string/cancel" />
<Button
android:id="@+id/ok"
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_toLeftOf="@id/cancel"
android:text="@string/ok" />
</RelativeLayout>

点击下载:源代码

运行效果:如图

Android 布局之RelativeLayout的更多相关文章

  1. Android布局之RelativeLayout

    RelativeLayout用到的一些重要的属性: 第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_center ...

  2. Android布局及属性归总(查询用)

    常见布局 LinearLayout    线性布局        子元素任意,组织成一个单一的水平或垂直行,默认为水平方向TableLayout    表格布局        子元素为<Tabl ...

  3. Android的学习第六章(布局二--RelativeLayout)

    今天我们来说一下Android布局中的Relativelayout布局(相对布局) 根据英译过来意思是相对布局,很容易理解,这一样布局使用的是元素与元素之间的微调做到布局的 含义:通过元素与元素之间的 ...

  4. android LinearLayout和RelativeLayout实现精确布局

    先明确几个概念的区别: padding margin:都是边距的含义,关键问题得明白是什么相对什么的边距padding:是控件的内容相对控件的边缘的边距. margin  :是控件边缘相对父空间的边距 ...

  5. 用android LinearLayout和RelativeLayout实现精确布局(转)

    先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距. a ...

  6. [转]用android LinearLayout和RelativeLayout实现精确布局

    先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距. a ...

  7. Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayou ...

  8. Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

    UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放 ...

  9. Android UI布局之RelativeLayout

    RelativeLayout是一个相对布局类. 首先RelativeLayout是一个容器,它里边的元素,如Buttonbutton等的位置是依照相对位置来计算的,比如,有两个Buttonbutton ...

随机推荐

  1. 解决pageControl页面设置无效问题

    废话不多说,先上代码 1.添加pageViewControl - (void)addPageControl { UIPageControl *pageControl = [[UIPageControl ...

  2. 上海SAP代理商 服装行业ERP系统 达策SAP金牌代理商

    上海SAP代理商 服装行业ERP系统 达策SAP金牌代理商上海达策公司的前身是上海InfoPower技术有限公司,该公司在中国ERP软件的销售和服务长达20年.在2005年4月上海达策正式成立,致成立 ...

  3. Objective-c中 isEqual ,isEqualToString , == 三者的区别

    首先 OC中的对象都是用指针表示,方法的调用是基于消息机制实现,== 比较的自然是指针指向的地址 然后 说下 isEqual 和 isEqualToString 的区别 IsEqual 是 NSObj ...

  4. MVC视图中处理Json

    /// <summary> /// 登录 /// </summary> /// <param name="value"></param&g ...

  5. Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(三)

    一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)篇 二.本篇目标: l  说说游戏中各种角色的动作.属性以及重构思路 l  进行代码重构让色狼大叔和 ...

  6. 使用6to5,让今天就来写ES6的模块化开发!

    http://es6rocks.com/2014/10/es6-modules-today-with-6to5/?utm_source=javascriptweekly&utm_medium= ...

  7. Halcon标定步骤

    Halcon标定步骤 1.设置相机内部参数的初始值 StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494]set_calib_data ...

  8. ubuntu下安装多版本Python

    今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就...好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本.我这里使用的是一个叫pyenv的Pyt ...

  9. [数据库]SQL Server 用户NT AUTHORITY\IUSR 登录失败

    今天打开网站时,突然报这个错误,平时都好好的 Cannot open database "JMECC" requested by the login. The login fail ...

  10. jQuery 通配符

    通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']");//id属 ...