프로그래밍/Java, Android

[Android] 동적 컨트롤 추가시(addView) 깊이(Depth) 지정하기

당근천국 2015. 10. 17. 15:00

안드로이드에서 동적 컨트롤을 추가할 때는 'addView'를 이용합니다.

View.addView([추가할 뷰]);
View.addView([추가할 뷰], [위치 인덱스]);

 

 

버튼을 추가하려면 이런 식으로 하면 됩니다.

Button btnTemp;
ViewGroup.LayoutParams params;

Button btnTemp = new Button(this);
btnTemp.setText("Button 2");
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(600, 300);
btnTemp.setLayoutParams(params);
this.m_flContainer.addView(btnTemp, 1);

 

 

여기서 조심해야 할 것은 추가하려는 뷰에 있는 컨트롤의 개수보다 인덱스가 크면 에러 납니다.

자신을 포함한 컨트롤의 개수가 5개라면 인덱스는 0~4까지 됩니다.

 

위치 인덱스를 바꾸면 원하는 깊이(Depth)를 지정할 수 있습니다.

 

 

 

테스트용 프로젝트

 

AddDepth.zip