addRule是动态布局设置属性的方法。有些情况下我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 LayoutParams.addRule() 方法
该方法有两种重载方式:
addRule(int verb) :
比如:addRule(RelativeLayout.CENTER_VERTICAL) 表示在 RelativeLayout 中的相应节点是垂直居中的。
但是所设置节点的属性不能与其它兄弟节点相关联,但是可以设置为或者属性值为
注意: 1、所设置节点的属性不能与其它兄弟节点相关联,
2、可以设置为如params.addRule(RelativeLayout.TRUE);表示使用默认值
addRule(int verb, int anchor) :
比如:addRule(RelativeLayout.ALIGN_LEFT, R.id.date) 表示 RelativeLayout 中的相应节点放置在一个 id 值为 date 的兄弟节点的左边。
该方法所设置节点的属性必须关联其它的兄弟节点或者属性为布尔值( 属性为布尔值时,anchor 为 RelativeLayout.TRUE 表示 true,anchor 为0表示 false),
verb 在RelativeLayout常用的有:RelativeLayout.ABOVE
RelativeLayout.BELOW
RelativeLayout.ALIGN_LEFT
RelativeLayout.LEFT_OF
RelativeLayout.RIGHT_OF
anchor 的值,可以是RelativeLayout.TRUE,0表示false, 或者其它View 的Id, 根据具体的verb, 填入相应的值。
注意: 1、所设置节点的属性必须关联其它的兄弟节点