gpt4 book ai didi

android - LayoutParams.addRule 是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 03:54:59 26 4
gpt4 key购买 nike

我正在构建一个应用程序,它将向相关布局添加 View 直到停止。我的问题是 RelativeLayout.LayoutParams.addRule 是如何工作的?如果我继续调用 addRule,这会创建一个不断增长的列表还是 addRule 检查规则是否已经存在?下面的代码真的有必要吗?我可以只使用 addRule 并且如果已经存在则不会创建重复条目吗?

谢谢

    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;
}

最佳答案

通过查看 RelativeLayout.LayoutParams 的代码class 你可以看到规则存储在一个 int 数组中,规则是索引,所以无论你调用多少次 addRule 规则都只会添加一次(最后一次通话算在内)。

关于android - LayoutParams.addRule 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com