大家好,又见面了,我是你们的朋友全栈君。
1、应用场景
在使用RelativeLayout布局的时候,通常在载入布局之前在相关的XML文件中进行静态设置即可。但是,在有些情况下,我们需要动态的设置布局的属性,在不同条件下设置不同的布局排列方式。这个时候就需要使用到RelativeLayout.LayoutParams.addRule()方法,该方法有两种重载方法:
(1)、addRule(int verb) 该方法表示所设置节点的属性不能与其他兄弟节点相关或者属性值为布尔值。
比如 addRule(RelativeLayout.CENTER_VERTICAL)就表示在RelativeLayout中的相应节点是垂直居中的。
(2)、addRule(int verb,int anchor)该方法表示所设置节点的属性必须关联其他兄弟节点或者属性值为布尔值。
比如addRule(RelativeLayout.ALIGN_LEFT,R.id.date)就表示RelativeLayout中的相应节点放置在一个
id值为date的兄弟节点的左边。
2、实例代码
RelativeLayout mainLayout = (RelativeLayout)findViewById(R.id.main_layout);
RelativeLayout.LayoutParams lpview = new RelativeLayout.LayoutParams
(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lpview.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lpview.addRule(RelativeLayout.ABOVE, R.id.text);
GLSurfaceView glView = new GLSurfaceView(this);
mainLayout.addView(glView,lpview);
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160850.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...