起源:使用惯LinearLayout的朋友都知道,若想实现对屏幕的等分,只需要设置Layout_weight的值即可。

可是在RelativeLayout布局下实现等分却不是那么容易。

下面就简单介绍如何在RelativeLayout下实现控件平分空间。

原理简单略带技巧,大家一看就懂。

首先来实现水平等分。

关键在于设置参照物,确定控件的方位。

关键代码如下:

     <RelativeLayout
android:layout_width= "match_parent"
android:layout_height= "120dp">
<!-- 设置参照物 -->
<View
android:id= "@+id/strut"
android:layout_width= "0dp"
android:layout_height= "0dp"
android:layout_centerVertical="true" /> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/strut"
android:layout_alignParentTop="true"
android:background="@drawable/bg_red"/> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@id/strut"
android:layout_alignParentBottom="true"
android:background="@drawable/bg_blue"/>
</RelativeLayout >

效果图如下:

再次来实现垂直等分,原理与水平相似,只是修改方位。

关键代码如下:

     <RelativeLayout
android:layout_width= "match_parent"
android:layout_height= "200dp">
<View
android:id= "@+id/strut"
android:layout_width= "0dp"
android:layout_height= "0dp"
android:layout_centerHorizontal="true" /> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignRight="@id/strut"
android:layout_alignParentLeft="true"
android:background="@drawable/hankukko"/> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignLeft="@id/strut"
android:layout_alignParentRight="true"
android:background="@drawable/chopper"/>
</RelativeLayout >

效果图如下:

尾注:如果想要实现更加复杂的多等分,还是推荐使用LinearLayout设置权重的方法。

转载请注明出处:http://www.cnblogs.com/michaelwong/p/4114945.html

RelativeLayout布局下实现控件平分空间的更多相关文章

  1. 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...

  2. [C#]Winform下回车或Tab键自动切换下一个控件焦点

    满足用户体验,在数据录入时,能在输入完一个信息后通过回车或Tab键自动的切换到下一个控件(字段). 在界面控件设计时,默认可以通过设置控件的TabIndex来实现.但在布局调整时或者是对输入的内容有选 ...

  3. js,onblur后下一个控件获取焦点判断、html当前活跃控件、jquery版本查看、jquery查看浏览器版本、setTimeout&setInterval

    需求: input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误.但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显 ...

  4. Delphi下使用Oracle Access控件组下TOraSession控件链接

    Delphi下使用Oracle Access控件组下TOraSession控件链接数据库,使用  orsn1.Options.Direct:=true;  orsn1.Server:=IP:Port: ...

  5. ActiveX控件的基本操作方法以及如何在VS2010下使用控件

    在此,小编就介绍下ActiveX控件的基本操作方法以及如何在VS2010下使用控件,我们以一个程序为例, (1)      打开VS2010编译器(右键以管理员身份运行,因为ActiveX需要注册), ...

  6. DevExpress控件GridView挂下拉控件无法对上值

    下拉控件使用RepositoryItemLookUpEdit,加入如下事件进行处理. repositoryItemLookUpEdit1.CustomDisplayText += new DevExp ...

  7. 一不小心写了个bootstrap风格下拉控件 JqueryUI + bootstrap

    受够了EasyUI的封闭,Bootstrap虽然华丽但是功能太渣,闲着无聊写个下拉控件玩玩吧,不喜勿喷哈... 第一步:先设计下我的下拉控件的样子 1.既然是bootstrap风格的,我想应该是这样的 ...

  8. scrollview嵌套下拉控件嵌套recyclerview(不动第三方原基础自定义)

    相信会碰到很多类似的需求,一个列表控件,然后控件上方的一个头部需要自定义,这样就不好有时候也不能加在列表控件的头部了,那必须得嵌套一层scrollview了,没毛病,那么一般的列表控件都是有上拉下拉的 ...

  9. Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...

随机推荐

  1. C语言strcmp()函数:比较字符串(区分大小写)

    头文件:#include <string.h> strcmp() 用来比较字符串(区分大小写),其原型为: int strcmp(const char *s1, const char *s ...

  2. (转)C#与C++之间类型的对应

    C#与C++之间类型的对应 Windows Data Type .NET Data Type BOOL, BOOLEAN Boolean or Int32 BSTR String BYTE Byte ...

  3. asp.net 两个页面之前传递数据

    .在两个表单之间传递数据 看下面的代码: 对于WebForm1: private void Page_Load(object sender, System.EventArgs e) { ArrayLi ...

  4. C# 知识点回顾

    一.基础知识 1.主函数:主函数是程序运行的入口. 2.数据类型: 值类型:整形(有符号.无符号)浮点型(float.double.decimal) 字符型(char.datetime) 结构体(范例 ...

  5. Spring-----3、Spring的核心机制(依赖注入)

    转载自:http://blog.csdn.net/hekewangzi/article/details/41345237

  6. 如何在linux中设置tab键长度

    1. 创建文件名为 .vimrc 的系统文件 首先切换到用户根目录,然后创建文件. $ cd ~ $ vim .vimrc 2. 在文件中输入下面的内容并保存 set tabstop=4 set sh ...

  7. mysql 批量更新

    bs_user 表,我们叫他 bu表, 字段user_id,len_id, think_wellUser 表,我们简称为tw表,中的user_id ,len_id 其中tw表的user_id 是bu表 ...

  8. 设置php在apache下加载ini配置文件路径,~和curl扩展无法加载的问题

    php以模块的方式加载到apache的时候,php配置文件目录为C:windows.这不合理,应该选择php本身目录的配置文件加载,可以在apache的httpd.conf配置文件里设置PHPIniD ...

  9. XCode: Target Settings和Project Settings的区别

    一个XCode project包含了两种设置:Project Settings 和 Target Settings. 它们之间的主要区别在于:Project settings应用于project里面的 ...

  10. android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效

    android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效    在之前的版本中都是在Man ...