Android LayoutParams.addRule是如何工作的?
我正在构建一个应用程序,该应用程序将向相对布局添加视图,直到停止。 我的问题是RelativeLayout.LayoutParams.addRule是如何工作的?如果我继续调用addRule,这会创建一个不断增长的列表,还是addRule会检查规则是否已经存在?下面的代码真的必要吗?我是否可以只使用addRule,如果已经存在,则不会创建重复条目 谢谢Android LayoutParams.addRule是如何工作的?,android,android-relativelayout,layoutparams,Android,Android Relativelayout,Layoutparams,我正在构建一个应用程序,该应用程序将向相对布局添加视图,直到停止。 我的问题是RelativeLayout.LayoutParams.addRule是如何工作的?如果我继续调用addRule,这会创建一个不断增长的列表,还是addRule会检查规则是否已经存在?下面的代码真的必要吗?我是否可以只使用addRule,如果已经存在,则不会创建重复条目 谢谢 int[] rules = this.position[0].params.getRules(); boolean rule =
int[] rules = this.position[0].params.getRules();
boolean rule = false;
switch(index){
case 0:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.RIGHT_OF)
rule = true;
}
if(!rule){
this.position[0].params.addRule(RelativeLayout.RIGHT_OF);
}
break;
case 1:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.LEFT_OF)
rule = true;
}
if(!rule){
this.position[1].params.addRule(RelativeLayout.LEFT_OF);
}
break;
case 2:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.ABOVE)
rule = true;
}
if(!rule){
this.position[2].params.addRule(RelativeLayout.ABOVE);
}
break;
case 3:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.BELOW)
rule = true;
}
if(!rule){
this.position[3].params.addRule(RelativeLayout.BELOW);
}
break;
}
int[]rules=this.position[0]。params.getRules();
布尔规则=假;
开关(索引){
案例0:
for(int i=0;i
通过查看类的代码,您可以看到规则存储在int
数组中,其中规则是索引,因此无论您调用addRule
多少次,规则都只添加一次(最后一次调用将计).通过查看类的代码,您可以看到规则存储在int
数组中,其中规则是索引,因此无论您调用addRule
多少次,规则都只添加一次(最后一次调用将计数)