分类: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"><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/textView1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="请输入内容:" /><EditTextandroid:id="@+id/editText1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@android:drawable/editbox_background"android:layout_below="@id/textView1" /><Buttonandroid: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="确定" /><Buttonandroid: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 继承relativelayout,Android开发中RelativeLayout相对布局

    Android开发中RelativeLayout相对布局 RelativeLayout布局是Android界面布局中应用最广也最强大的一种布局,其不只十分灵活,能够解决开发中各类界面布局需求,同时也很 ...

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

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

  3. RelativeLayout相对布局详解

    RelativeLayout相对布局在Android UI开发中也应用比较多,虽然它不及LinearLayout使用方便,但某些场景中使用RelativeLayout也是一种很不错的选择.在官网上介绍 ...

  4. 【Android】常见的界面布局

    常见的界面布局 View视图 Android所有的UI元素都是通过View和ViewGroup构建的,对于一个Android应用的用户界面来说,ViewGroup作为容器盛装界面的控件,它可以包含普通 ...

  5. android 布局之RelativeLayout(相对布局)

    android 布局分为LinearLayout TableLayout RelativeLayout FreamLayout AbsoluteLayout. 常用的有LinearLayout,Tab ...

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

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

  7. Android基础教程之五大布局对象------FrameLayout,LinearLayout,AbsoluteLayout,RelativeLayout,TableLayout...

    2019独角兽企业重金招聘Python工程师标准>>> 大家好,我们这一节讲一下Android对用五大布局对象,它们分别是FrameLayout(框架布局:不知道是不是这么翻译的), ...

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

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

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

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

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

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

最新文章

  1. 数组-合并两个有序数组(双指针,从后往前)
  2. C语言自学《四》---- 循 环
  3. ElasticSearch之Java Api 测试
  4. java学习笔记16--I/O流和文件
  5. Python-函数递归调用
  6. C语言编程快速入门黎明,何用C语言模拟键盘输入?
  7. Latex 中插入超链接 插入网址
  8. DOS命令批量删除文件及制作该命令的批处理命令详解
  9. Java基础知识强化21:Java中length、length()、size()区别
  10. DSP及海思嵌入式板实现gb28181
  11. Java中的优先队列——二叉堆
  12. 程序执行的过程分析--【sky原创】
  13. GNU Assembler
  14. 放弃腾讯75W年薪,回老家当公务员,提离职被领导教育。网友:leader嫉妒了
  15. asp.net页面中的Console.WriteLine结果如何查看
  16. 06 第三方之短信封装
  17. 特征预处理:归一化/标准化/缺失值
  18. Mac Mini 安装Ubuntu20.04 KVM
  19. 拿什么拯救你、我的情人节
  20. 谷歌colab“几键”运行图像超分辨率模型-ESRGAN,操作详解

热门文章

  1. static 静态局部变量
  2. python怎么打开turtle_python的turtle库真好玩
  3. AppWidget实现机制分析--什么是桌面插件
  4. 模拟登录(一次自动调转)
  5. Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
  6. 私藏的开发过程中的那些基类
  7. 如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(下)
  8. 微软最有价值专家大中华峰会开幕视频
  9. 正则表达式的贪婪与非贪婪模式
  10. shell脚本批量导出MYSQL数据库日志/按照最近N天的形式导出二进制日志[连载之构建百万访问量电子商务网站]...