我想用不同的颜色动态添加四个相对布局。当我尝试添加它时,容器包含四个子视图。但只有三个布局可见。如何使第一个布局可见。
我的代码
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);
}
答案 0 :(得分:0)
它不起作用,因为ID必须是正数。你可以简单地添加1:
relativeLayout.setId(i + 1);
当容器是具有垂直方向的LinearLayout时,执行您想要的操作通常会容易得多。您可以简单地添加视图,而不必指定任何布局规则或ID。