RelativeLayout.addRule()方法

通过LayoutParams的 addRule方法来额外的添加别的规则了,android.widget.RelativeLayout.LayoutParams.addRule(int verb, int anchor),

其中 anchor 参数指定可以是 View 的 id(“相对于谁”)、RelativeLayout.TRUE(启用某种对齐方式)或者 是-1(应用于某些不需要 anchor 的 verb)[因为 RelativeLayout.TRUE的值为 -1 ,所以-1或者RelativeLayout.TRUE都是可以的]、是  0 (不启用这个规则)

其中 verb 参数指定相对的“动作”;

(1)如果是相对于父控件的相对布局的话 anchor 参数可以不用或者设置为-1或者RelativeLayout.TRUE ,

(2)如果是相对于级别和自己同一级的控件的话参数设置应该是 view 的id ,

(3)如果参数设置为 0 的话,则表示这个规则不会运用到该控件的布局中,当是相对于本身的父控件的时候这个参数可以省略。

比如:

relLayoutParams.addRule(RelativeLayout.ABOVE,imageViewId.getId())

子控件相对于控件:imageViewId在其的上面

relLayoutParams.addRule(RelativeLayout.BELOW ,imageViewId.getId())

子控件相对于控件:imageViewId在其的下面

relLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT ,-1) 与

relLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT ,RelativeLayout.TRUE) 与

relLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT )

表示的是一样的表示子控件在父控件的右边

(

relLayoutParams.setMargins(arg0, arg1, arg2, arg3)或者 relLayoutParams.topMargin=5 等等离某元素的左、上、右、下的距离单位

)

下面就将verb 相关常量名列如下:

relLayoutParams.alignWithParent=true   如果对应的兄弟元素找不到的话就以父元素做参照物

RelativeLayout.CENTER_HORIZONTAL   在父控件中水平居中

RelativeLayout.CENTER_VERTICAL   在父控件中垂直居中

RelativeLayout.CENTER_IN_PARENT  相对于父控件完全居中

RelativeLayout.ALIGN_PARENT_BOTTOM  紧贴父控件的下边缘

RelativeLayout.ALIGN_PARENT_TOP  紧贴父控件的上边缘

RelativeLayout.ALIGN_PARENT_LEFT 紧贴父控件的左边边缘

RelativeLayout.ALIGN_PARENT_RIGHT  紧贴父控件的右边缘

RelativeLayout.ABOVE  在某元素的上方  需要第二个参数为某元素的ID

RelativeLayout.BELOW 在某元素的下方  需要第二个参数为 某元素的ID

RelativeLayout.LEFT_OF  在某元素的左边  需要第二个参数为某元素的ID

RelativeLayout.RIGHT_OF  在某元素的右边  需要第二个参数为 某元素的ID

RelativeLayout.ALIGN_TOP 本元素的上边缘和某元素的的上边缘对齐 需要第二个参数为某元素的ID

RelativeLayout.ALIGN_BOTTOM  本元素的上边缘和某元素的的下边缘对齐 需要第二个参数为某元素的ID

RelativeLayout.ALIGN_LEFT  本元素的上边缘和某元素的的左边缘对齐 需要第二个参数为某元素的ID

RelativeLayout.ALIGN_RIGHT  本元素的上边缘和某元素的的右边缘对齐 需要第二个参数为某元素的ID

RelativeLayout.ALIGN_BASELINE    本元素的基线和某元素的的基线对齐 需要第二个参数为某元素的ID

http://www.aiuxian.com/article/p-2885445.html

RelativeLayout.addRule()方法的更多相关文章

  1. RelativeLayout.LayoutParams.addRule()方法

    1.应用场景 在使用RelativeLayout布局的时候,通常在载入布局之前在相关的XML文件中进行静态设置即可.但是,在有些情况下,我们需要动态的设置布局 的属性,在不同条件下设置不同的布局排列方 ...

  2. Android 动态改变布局属性RelativeLayout.LayoutParams.addRule()

    我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...

  3. 代码中动态改变布局属性RelativeLayout.LayoutParams.addRule()

    我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...

  4. Android addRule()

    布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 Relati ...

  5. Android开发之布局--RelativeLayout布局

    RelativeLayout 相对布局 true或false属性 Layout_centerHorizontal   当控件位于父控件的横向中间位置 Layout_centerVertical   当 ...

  6. 代码布局relativeLayout

    后台布局   在ANDROID 开发中有时候我们需要在后台添加布局文件这里我们来说一下后台添加RelativeLayout文件的方式: RelativeLayout,顾名思义,就是以“相对”位置/对齐 ...

  7. Catalina.createDigester方法详细理解

    这个方法主要设置(这个方法很重要,贵在理解,虽然还没学过设计模式..) 1.遇到<server>标签时创建StandardServer实例   设置StandardServer类内部的相关 ...

  8. ListView / GirdView Adpater的getView方法,首项多次调用

    通过Adapter为AbslistView提供内容是一个常见的做法:在ListView或者GridView的Adapter中的getView()方法中,加入一行日志,看getView()被调用的情况 ...

  9. android:gravity 和 android:layout_Gravity属性

    LinearLayout有两个非常相似的属性: android:gravity 与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中 ...

随机推荐

  1. USACO Sabotage, 2014 Mar 破坏阴谋(二分+贪心)

    一开始看完这题就有个想法: 只要把大于整个序列平均数的最大连续序列就是最优? 那把整个序列都减掉平均数 在做最大连续字序列和且记录长度? 仔细思考一下并不太对: 当子序列最大但长度较大 也许也比不上删 ...

  2. 小白向:web中利用request.getPart()上传文件到服务器

    被文件上传弄得焦头烂额的一天,果然web中的路径和各种设置真的好讨厌= = 下面是超级小白的.及其简约的“详”解 1.明确目的: 用户将 1.txt 文件 上传到 服务器(web工程下的某个文件夹)中 ...

  3. BottomSheetBehavior 结合CoordinatorLayout实现底部栏

    1.xml <?xml version="1.0" encoding="utf-8"?> <android.support.design.wi ...

  4. rmi 工作原理

    rmi 工作原理 (转) 工作SocketJava应用服务器网络应用  RMI(Remote Method Invocation,远程方法调用)是Java的一组拥护开发分布式应用程序的API.RMI使 ...

  5. maridb Error 'Operation DROP USER failed for

    数据库版本:mariadb   10.0.12 主库删除多余的用户名,因从库没有此信息造成主从故障! 报错信息如下:Error 'Operation DROP USER failed for 'use ...

  6. Android宝宝点点乐游戏源码完整版

    Android宝宝点点乐游戏源码完整版,是我从其他网站转载过来的,就是那个安卓教程网,该游戏目前已经上线了百度应用商店了,大家可以去搜索一下,看看演示吧. <ignore_js_op> & ...

  7. Hihocoder1061-Beautiful String

    时间限制:10000ms单点时限:1000ms内存限制:256MB 描述 We say a string is beautiful if it has the equal amount of 3 or ...

  8. day06-1 与用户交互以及格式化输出

    目录 Python的与用户交互 Python2的input和raw_input(了解) 格式化输出 占位符 format函数格式化字符串 f-string格式化(方便) Python的与用户交互 in ...

  9. 装饰器阶段性练习(题目)[转载http://www.cnblogs.com/linhaifeng/p/7278389.html]

    # 一:编写函数,(函数执行的时间是随机的)# 二:编写装饰器,为函数加上统计时间的功能# 三:编写装饰器,为函数加上认证的功能## 四:编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件 ...

  10. SVG矢量动画

    一.概述 相较于png.jpg等位图通过存储像素点来记录图像,svg (Scalable Vector Graphics)拥有一套自己的语法,通过描述的形式来记录图形.Android并不直接使用原始的 ...