본문 바로가기

Android/ViewGroup

안드로이드/Android 자바(Java) 코드로 RelativeLayout 구현 하기~!


 < 개발 환경 >  
   작성일 : 2013.01.18
   OS 설치 버전 : Windows7 32bit  
   SDK 설치 버전 : 안드로이드 SDK 4.2 (젤리빈) / API LEVEL : 17  
   ADT 설치 버전 : 21   
   Java 설치 버전 : JDK 1.6.0_20 / JRE6 
   이클립스 설치 버전 : Indigo
   테스트단말 : 삼성 갤럭시 S2 4.0.4 (아이스크램 샌드위치)   

 < 프로젝트 적용 > 
   API LEVEL : 8  
   minSdkVersion : 8 
   targetSdkVersion : 8  
   Java Compiler Level : 1.6  
   Text file encoding : UTF-8






안드로이드/Android 자바(Java) 코드로 RelativeLayout 구현 하기~!





자바(Java) 코드로 RelativeLayout 구현 하는 방법 입니다.


package arabiannight.tistory.com.relativelayoutparams;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// Java Code로 Layout을 구현하자~! Layout은 과감히 주석처리~!!
//		setContentView(R.layout.activity_main);
		
		// RelativeLayout 생성
		RelativeLayout rl = new RelativeLayout(this);
		
		// RelativeLayout width, height 설정
		RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
				(ViewGroup.LayoutParams.MATCH_PARENT, 
				 ViewGroup.LayoutParams.MATCH_PARENT);
		
		// RelativeLayout에 width, height 설정 적용
		rl.setLayoutParams(params);
		
		
		/** 상단 버튼 추가 */
		Button topButton = new Button(this);
		topButton.setId(1);
		topButton.setText("상단 버튼 입니다");
		
		// RelativeLayout의 차일드 View이기 때문에 RelativeLayout의 LayoutParams을
		// 적용해 준다.
		RelativeLayout.LayoutParams topButtonParams = new RelativeLayout.LayoutParams
				(ViewGroup.LayoutParams.MATCH_PARENT, 
				 ViewGroup.LayoutParams.WRAP_CONTENT);
		
		topButton.setLayoutParams(topButtonParams);
		
		
		/** 중간 버튼 추가 */
		Button middleButton = new Button(this);
		middleButton.setId(2);
		middleButton.setText("중간 버튼 입니다");
		
		RelativeLayout.LayoutParams middleButtonParams = new RelativeLayout.LayoutParams
				(ViewGroup.LayoutParams.MATCH_PARENT, 
				 ViewGroup.LayoutParams.WRAP_CONTENT);
		
		// addRule : RelativeLayout의 align 속성을 설정해 준다.
		// middleButtonParams.addRule(verb, anchor)
		// verb : 적용될 속성
		// anchor : 기준이될 View 
		middleButtonParams.addRule(RelativeLayout.BELOW, 1);
		
		middleButton.setLayoutParams(middleButtonParams);
		
		
		/** 하단 버튼 추가 */
		Button bottomButton = new Button(this);
		bottomButton.setId(3);
		bottomButton.setText("하단 버튼 입니다");
		
		RelativeLayout.LayoutParams bottomButtonParams = new RelativeLayout.LayoutParams
				(ViewGroup.LayoutParams.MATCH_PARENT, 
				 ViewGroup.LayoutParams.WRAP_CONTENT);
		
		bottomButtonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
		
		bottomButton.setLayoutParams(bottomButtonParams);
		bottomButton.setOnClickListener(buttonListner);
		
		
		// RelativeLayout에 차일드 View 추가
		rl.addView(topButton);
		rl.addView(middleButton);
		rl.addView(bottomButton);
		
		// Acitivty화면에 보일 View를 연결해 준다.
		setContentView(rl);
		
	}
	
	public View.OnClickListener buttonListner = new View.OnClickListener() {
		
		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case 3:
				Toast.makeText(MainActivity.this, "하단 버튼 Click~!!",
						Toast.LENGTH_SHORT).show();
				break;

			default:
				break;
			}
		}
	};
}



파일첨부 : 

TestRelativeLayoutParams.zip



스크린샷 : 




감사합니다.