본문 바로가기

Android/Class

안드로이드/Android Rect Class(클래스) 사용 하기 ~!


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

 < 프로젝트 적용 > 
   Android Build Target / API LEVEL / Complie With : 17  
   minSdkVersion : 8 
   targetSdkVersion : 16  
   Java Compiler Level : 1.6  
   Text file encoding : UTF-8






안드로이드/Android Rect Class(클래스) 사용 하기 ~!




안드로이드 Rect Class(클래스) 사용 방법 입니다. Rect는 사각형을 만드는 클래스라고 생각하시면 됩니다. View나 특정 공간에 대해 Rect Class(클래스)를 사용하면 범위에 대한 값을 구할 수 있습니다. 


<Rect class 사각형 원리>


Rect Class(클래스)는 위의 그림처럼 4개의 점들이 모여서 하나의 사각형을 이루는 구조를 가지고 있습니다. 자 그럼 예제를 살펴 보겠습니다.



package arabiannight.tistory.com.rectclass;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		CustomView cv = new CustomView(this);
		setContentView(cv);
		
	}
	
	class CustomView extends View {

		public CustomView(Context context) {
			super(context);
		}
		
		@Override
		protected void onDraw(Canvas canvas) {
			super.onDraw(canvas);
			
			// Rect 클래스를 만든다. (사각형)
			Rect rect = new Rect();
			// View의 사이즈 만큼 Rect를 그려 준다.
			rect.set(0, 0, canvas.getWidth(), canvas.getHeight());

			// 페인트 객체 생성
		    Paint paint = new Paint();
		    paint.setColor(Color.YELLOW);
		    paint.setStyle(Paint.Style.FILL);

		    // Rect에 Yellow 색을 칠해 준다.
		    canvas.drawRect(rect, paint);
		    
		    // Rect Size
		    Log.d("RECT", "left : " + rect.left);
		    Log.d("RECT", "right : " + rect.right);
		    Log.d("RECT", "top : " + rect.top);
		    Log.d("RECT", "bottom : " + rect.bottom);
		}
	}
}



실행결과 :
01-28 01:08:37.270: D/RECT(19702): left : 0
01-28 01:08:37.270: D/RECT(19702): right : 480
01-28 01:08:37.270: D/RECT(19702): top : 0
01-28 01:08:37.275: D/RECT(19702): bottom : 800



파일첨부 : 



스크린샷 : 






출처 : http://stackoverflow.com/questions/10376678/imagebackground-on-rect-instead-of-color


API 설명 : http://msdn.microsoft.com/ko-kr/library/system.windows.rect.aspx




  • 음무 2013.08.21 15:53

    setContentView(cv);를 하니까 activity를 구성하는 xml이 아예 안나타나는데 어떻게해야하나요 ?

    택스트뷰는 뷰대로 띄우고 그위에 Rect를 띄워주고싶은데도움부탁드립니다.