0

我想用不同的颜色动态添加四个相对布局。当我尝试添加它时,容器包含四个子视图。但只有三个布局可见。如何使第一个布局可见。

我的代码

int[] colors={Color.RED,Color.BLACK,Color.BLUE,Color.YELLOW};
        for(int i=0;i<4;i++){
            RelativeLayout relativeLayout=new RelativeLayout(MainActivity.this);
            relativeLayout.setId(i);
            RelativeLayout.LayoutParams layoutParams=new RelativeLayout.LayoutParams(2400,100);                 
            if(i>0){
            layoutParams.addRule(RelativeLayout.BELOW,audioContainer.getChildAt(i-1).getId());
            }
            relativeLayout.setLayoutParams(layoutParams);   
            relativeLayout.setBackgroundColor(colors[i]);
            audioContainer.addView(relativeLayout);         

        }
4

1 回答 1

0

它不起作用,因为 ids 必须是正数。您可以简单地添加 1:

relativeLayout.setId(i + 1);

当容器是垂直方向的 LinearLayout 时,做你想做的事情通常会容易得多。您可以简单地添加视图,而不必指定任何布局规则或 ID。

于 2012-11-17T15:17:56.070 回答