리니어 레이아웃은 대부분의 뷰를 구현할 수 있을 정도로 

가장 많이 사용되는 레이아웃 방식이다.


<LinearLayout>태그내 layout_width, layout_height, orientation속성을 반드시 지정해야한다.

orientation속성은 리니어레이아웃 내 요소들의 정렬방향을 의미하며 vertical(수직),

horizontal(수평)값을 지정할 수 있다.


정적으로 뷰를 구현해야 할 경우 XML방식의 구현이 적합하고,

특정 상황에 따라 동적으로 뷰를 구현해야 할 경우 JAVA코드방식의 구현이 적합하다.


Code_Example_1) XML방식 (정적)


	
	
	


Code_Example_2) JAVA코드방식 (동적)

public class NewActivity2 extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		
		// 1. Layout객체 생성 및 orientation지정
		LinearLayout lLayout = new LinearLayout(this);
		lLayout.setOrientation(LinearLayout.VERTICAL);
		
		// 2. 추가 Layout속성 파라미터 지정
		LinearLayout.LayoutParams params = 
				new LinearLayout.LayoutParams(
						LinearLayout.LayoutParams.MATCH_PARENT, 
						LinearLayout.LayoutParams.WRAP_CONTENT);
		
		// Activity객체는 Context객체를 상속받는다.
		// This는 Context객체로 현재 객체상태를 의미한다.
		// 이 객체를 전달함으로써 해당 요소의 상태확인, 설정 등이 가능하다.
		// 3. 버튼생성 후 레이아웃 내 추가
		Button btn1 = new Button(this);
		btn1.setText("버튼 1");
		btn1.setLayoutParams(params);
		
		Button btn2 = new Button(this);
		btn2.setText("버튼 2");
		btn2.setLayoutParams(params);
		
		Button btn3 = new Button(this);
		btn3.setText("버튼 3");
		btn3.setLayoutParams(params);
		
		lLayout.addView(btn1);
		lLayout.addView(btn2);
		lLayout.addView(btn3);
		
		// 동적으로 생성한 lLayout레이아웃 출력
		setContentView(lLayout);
	}
}

다른 카테고리의 글 목록

Android/Develop 카테고리의 포스트를 톺아봅니다