安卓布局之一,RelativeLayout。又称之为相对布局。对于一个界面每个人都有不同的实现。我比较喜欢使用RelativeLayou。原因是,相对布局不会出现过多的嵌套,在现在硬件不断发展的今天,这种问题可能不需要考虑。但是,在某些低配的手机上,当一个界面布局嵌套过多,就容易发生卡顿。也容易发生过度绘制。当然相对布局也有一些问题,因为是相对的所以在不同的手机屏幕当中,可能界面会出现偏差,这时候就需要我们进行dimens的适配。相对布局的属性比较多,下面我总结了一些这个布局的一些常用属性。

**子View相对于父View**

竖直居中:

android:layout_centerVertical="true"

水平居中:

android:layout_centerHorizontal="true"

居中:

android:layout_centerInParent="true"

在父控件的左边:

android:layout_alignParentLeft="true"

在父控件的右边:

android:layout_alignParentRight="true"

在父控件的上边:

android:layout_alignParentTop="true"

在父控件的下边:

android:layout_alignParentBottom="true"

** 子View相对于子View**

在某个控件的上方:

android:layout_above="..."

在某个控件的下方:

android:layout_below="..."

在某个控件的左边:

android:layout_toLeftOf="..."

在某个控件的右边:

android:layout_toRightOf="..."

通常在两个控件水平与竖直方向上的时候,需要我们将两个空间底部对齐或者左部对齐可以用到一下属性。

于某个控件上部对齐:

android:layout_alignTop="..."

于某个控件下部对齐:

android:layout_alignBottom="..."

于某个控件左部部对齐:

android:layout_alignLeft="..."

于某个控件右部对齐:

android:layout_alignRight="..."

还有一些属性这里就不再多说,掌握了上述几个属性,RelativeLayout就能运用自如。

关注我的微信公众号,代码以及干货都在上面~





Android中的RelativeLayout的更多相关文章

  1. Android中的RelativeLayout中组件的排放问题

    今天想仿照新浪微博的用户中心 主要就是那个头像的问题,这个看到就想到用相对布局,现在是我想把那个名称放到头像的上面去xml中定义如下: <RelativeLayout android:layou ...

  2. Android中有关relativeLayout 和EditText的一些属性

      http://www.cnblogs.com/jqyp/archive/2010/10/23/1859182.html RelativeLayout用到的一些重要的属性: 第一类:属性值为true ...

  3. Android中RelativeLayout的字符水平(垂直居中)对齐

    [背景] 此处Android中显示出来的TextView中的内容,水平中间不对其. 想要实现水平居中对齐. [折腾过程] 1.搜: android RelativeLayout horizontal ...

  4. Android中RelativeLayout和LinearLayout性能分析

    先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 a ...

  5. Android中的自定义控件(二)

    案例四: 自定义开关       功能介绍:本案例实现的功能是创建一个自定义的开关,可以自行决定开关的背景.当滑动开关时,开关的滑块可跟随手指移动.当手指松开后,滑块根据开关的状态,滑到最右边或者滑到 ...

  6. Android中的自定义控件(一)

    自定义控件是根据自己的需要自己来编写控件.安卓自带的控件有时候无法满足你的需求,这种时候,我们只能去自己去实现适合项目的控件.同时,安卓也允许你去继承已经存在的控件或者实现你自己的控件以便优化界面和创 ...

  7. Android中使用ListView实现分页刷新(线程休眠模拟)

    当要显示的数据过多时,为了更好的提升用户感知,在很多APP中都会使用分页刷新显示,比如浏览新闻,向下滑动到当前ListView的最后一条信息(item)时,会提示刷新加载,然后加载更新后的内容.此过程 ...

  8. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  9. Android中Fragment+ViewPager的配合使用

    官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例.FragmentPa ...

随机推荐

  1. mysql数据库中编码问题(续)

    其实之前的数据库中文乱码问题并没有彻底的解决,虽然在网页上显示正常,但是在数据库中却是乱码,虽然用户看起来没问题,但是自己就遭罪了,而且也是个极大的问题 究其原因,是没注意到一点,就是数据库中表的结构 ...

  2. LA 6856 Circle of digits 解题报告

    题目链接 先用后缀数组给串排好序.dc3 O(n) 二分答案+贪心check 答案的长度len=(n+k-1)/k 如果起点为i长为len串大于当前枚举的答案,i的长度取len-1 从起点判断k个串的 ...

  3. ios开发之代理&&协议(补充篇)

    一.理解协议与代理 协议: 协议是一个方法签名的列表,在其中可以定义若干个方法.根据配置,遵守该协议的类会去实现这个协议中规定的若干个方法. 代理: 代理是一个概念,很难用一个名词去定义(如我们可以说 ...

  4. 命令行,备份、导入数据库Oracle

    备份库:exp username/password@Database file="h:\datas.dmp" owner=username 导入语句 :imp username2/ ...

  5. phpcms V9利用num++实现多样形式列表标签调用

    在首页或者频道页调用文章列表的时候,经常会使用到左右对称或者每五行出现一条横线的调用形式. 其实代码很简单,利用num++的循环方式,以及{if}{/if}进行样式判断即可.代码如下: {pc:con ...

  6. C#编程连接数据库,通过更改配置文件切换数据库功能。

           该实例主要应用情景:假如某公司用mysql当做数据库服务器,由于发现mysql数据库在运行中出现不稳定情况,针对这情况,厂家要求更换连接数据库方式,改用SQL server数据库,来满足 ...

  7. sphinx(coreseek)——1、增量索引

    首先介绍一下     CoreSeek/Sphinx的发布包 indexer: 用于创建全文索引;    search: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引;    search ...

  8. Device.js——检测设备平台、操作系统的Javascript 库

    http://segmentfault.com/a/1190000000373735 Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <h ...

  9. Python自动化运维之22、JavaScript

    一.简介 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理.学习了htm ...

  10. Rewrite的QSA是什么意思?

    原版的英文: When the replacement URI contains a query string, the default behavior of RewriteRule is to d ...