分类:C#、Android、VS2015;

创建日期:2016-02-11

一、简介

RelativeLayout是一种相对布局,容器中子元素的位置是相对于其前一个元素或者其他元素的位置来计算的,或者是相对于其父容器的可填充区域来计算的。

1、什么时候使用相对布局

一般在嵌套的子区域中使用相对布局,这能显著提供性能,特别是多层嵌套的情况,要比用LinearLayout性能高得多。

记住:使用相对布局的唯一目的就是为了保持子元素间的相对位置不变。

2、常用属性

目标组件:用id指定。

度量单位:既可以是像素(例如30dip、40px),也可以是与像素无关的单位(dp)。

android:layout_above 在目标组件的上方

android:layout_alignBaseline 和目标组件的基线对齐。

android:layout_alignBottom 下边缘和目标组件的的下边缘对齐

android:layout_alignEnd 末端和目标组件末端对齐

android:layout_alignRight 右边缘和目标组件的的右边缘对齐

android:layout_alignLeft 左边缘和目标组件左边缘对齐

android:layout_alignStart 开始端和目标组件开始端对齐

android:layout_alignTop 顶部和目标组件的的顶部对齐

android:layout_below 在目标组件的下方

android:layout_toEndOf 在目标组件末端

android:layout_toLeftOf 在目标组件的左边

android:layout_toRightOf 在目标组件的右边

android:layout_alignLeft 在目标组件的开始端

3、与目标组件的对齐方式

由RelavieLayout.LayoutParams定义(true或false)。

android:layout_alignParentBottom 是否和父元素的底端对齐。

android:layout_alignParentEnd 是否和父元素的末端对齐。

android:layout_alignParentLeft 是否和父元素的左边对齐

android:layout_alignParentRight 是否和父元素的右边对齐

android:layout_alignParentStart 是否和父元素的开始对齐

android:layout_alignParentTop 是否和父元素的顶部对齐

android:layout_alignWithParentIfMissing 找不到目标元素是否以父元素做参照物

二、示例-- Demo04RelativeLayout

1、运行截图

2、添加Demo04RelativeLayout.axml文件

在Resources/layout文件夹下添加该文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入内容:" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_below="@id/textView1" />
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText1"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dip"
android:text="确定" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/ok"
android:layout_alignTop="@id/ok"
android:text="取消" />
</RelativeLayout>
</LinearLayout>

3、添加Demo04RelativeLayout.cs文件

在SrcDemos文件夹下添加该文件。

using Android.App;
using Android.OS;
using Android.Widget; namespace ch07demos.SrcDemos
{
[Activity(Label = "Demo04RelativeLayout")]
public class Demo04RelativeLayout : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Demo04RelativeLayout);
FindViewById<Button>(Resource.Id.ok).Click += delegate
{
Toast.MakeText(this, "你单击了[确定]", ToastLength.Long).Show();
};
FindViewById<Button>(Resource.Id.cancel).Click += delegate
{
Toast.MakeText(this, "你单击了[取消]", ToastLength.Long).Show();
};
}
}
}

【Android】7.5 RelativeLayout(相对布局)的更多相关文章

  1. Android之控件与布局,结构知识点,基础完结

    版权声明:未经博主允许不得转载 在Android中我们常常用到很多UI控件,如TextView,EditText,ImageView,Button,ImageButton,ToggleButton,C ...

  2. Android开发重点难点1:RelativeLayout(相对布局)详解

    前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...

  3. Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现)

    前言 啦啦啦~博主又来骚扰大家啦~大家是不是感觉上次的Android开发博文有点长呢~主要是因为博主也是小白,在做实验的过程中查询了很多很多概念,努力去理解每一个知识点,才完成了最终的实验.还有就是随 ...

  4. Android(java)学习笔记164:Relativelayout相对布局案例

    我们看看案例代码,自己心领神会: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout ...

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

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

  6. 第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)

    RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布 ...

  7. 从零開始学android&lt;RelativeLayout相对布局.十六.&gt;

    相对布局管理器指的是參考某一其它控件进行摆放,能够通过控制,将组件摆放在一个指定參考组件的上.下.左.右等位置,这些能够直接通过各个组件提供的属性完毕. 以下介绍一下各个方法的基本使用 No. 属性名 ...

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

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

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

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

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

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

随机推荐

  1. Android获取网络图片应用示例

    1.养成好习惯,配置字符串资源文件 strings.xml <?xml version="1.0" encoding="utf-8"?> <r ...

  2. 开源 免费 java CMS - FreeCMS1.5-数据对象-job

    下载地址:http://code.google.com/p/freecms/ job 从FreeCMS 1.5 开始支持 在使用职位相关标签时,标签会封装job供页面调用. 属性 说明 id id s ...

  3. PHP表单-PHP $_POST 变量

    PHP $_POST 变量 在 PHP 中,预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值. $_POST 变量 预定义的 $_POST 变量用 ...

  4. nl命令(转)

    原文:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容 ...

  5. VIM经常使用操作

    VIM使用 移动命令 按键 说明 h 左 l 右(小写L) j 下 k 上 w 移动到下一个单词 b 移动到上一个单词 进入插入模式 命令 说明 i 在当前光标处进行编辑 I 在行首插入 A 在行末插 ...

  6. 包装类、object、单例模式、final、抽象类

    /*包装类*/ /*  byte   Byte  short   Short  int    Integer  long   Long  char   Character  float   Float ...

  7. 查询SQL存储过程创建时间

    select  [name] ,create_date ,modify_date FROM  sys.all_objects where  type_desc = N'SQL_STORED_PROCE ...

  8. Chrome实用调试技巧

    如今Chrome浏览器无疑是最受前端青睐的工具,原因除了界面简洁.大量的应用插件,良好的代码规范支持.强大的V8解释器之外,还因为Chrome开发者工具提供了大量的便捷功能,方便我们前端调试代码,我们 ...

  9. Oracle EBS WMS功能介绍(二)

    Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包.能够进 ...

  10. HDUOJ-------Naive and Silly Muggles

    Naive and Silly Muggles Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...