在视图组中动态添加布局

时间:2012-11-17 09:03:49

标签: android-layout

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

我的代码

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

        }

1 个答案:

答案 0 :(得分:0)

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

relativeLayout.setId(i + 1);

当容器是具有垂直方向的LinearLayout时,执行您想要的操作通常会容易得多。您可以简单地添加视图,而不必指定任何布局规则或ID。