2012-11-17 4 views
0

4 가지 상대 레이아웃을 다른 색상으로 동적으로 추가하고 싶습니다. 추가하려고하면 컨테이너에 4 개의 하위 뷰가 포함됩니다. 그러나 세 가지 레이아웃은 볼 수만 있습니다. 첫 번째 레이아웃을 어떻게 보이게 만드는지.보기 그룹에서 레이아웃을 동적으로 추가하십시오.

내 코드

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

답변이 도움이 되었습니까? – brillenheini

답변

0

ID를 양수해야하기 때문에이 작동하지 않습니다. 1을 추가하면됩니다 :

relativeLayout.setId(i + 1); 

원하는 작업을 컨테이너가 세로 방향의 LinearLayout 일 때 훨씬 쉽게 할 수 있습니다. 보기를 추가하고 레이아웃 규칙이나 ID를 지정할 필요가 없습니다.

+0

내가 이것을 사용하면 나는 할 수 없었다. – Mathi

관련 문제