본문 바로가기

프로그램언어/android & iPhone

[ 안드로이드 ] 해상도 크기 구하기

1. 해상도 크기

안드로이드 구성을 하기 위해서는  두 가지 가능성에 대해서 고려해야 한다.

 
주의사항으로 세로 480 가로 320 의 크기를 기본 View의 안드로이드 단말기 크기를 정의하고 있다. 하지만 여기서 확인해야 될 부분이

빨간색상으로 채워진 부분이 50- 70 의 크기를 가지고 있다. 그렇기 때문에 사용자가 생성한 View인 경우 50 - 70 크기의 범위 때문에

오차가 발생할 수 있기 때문에 풀스크린으로 작업을 해야 정교한 View을 구성할 수 있다.

 * 단말기의 해상도는 다음과 같은 방법으로 구한다.

 
			Display display = ((WindowManager) context
					.getSystemService(Context.WINDOW_SERVICE))
					.getDefaultDisplay();
			int width = display.getWidth();
			int height = display.getHeight();


* Full Screen 모드 구성하기

			// 프로그램 제목 표시줄을 제거한다.
			requestWindowFeature(Window.FEATURE_NO_TITLE);
			// 상태 표시줄( Statusbar 안테나, 배터리 상태 등이 표시되어 있는 부분)을 제거한다.
			getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
					WindowManager.LayoutParams.FLAG_FULLSCREEN);


* 응용하기

package com.android.canvas;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

public class CanVasTestActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// 프로그램 제목 표시줄을 제거한다.
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		// 상태 표시줄( Statusbar 안테나, 배터리 상태 등이 표시되어 있는 부분)을 제거한다.
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setContentView(new MyView(this));
		

	}

	class MyView extends View {

		int width, height;
		public MyView(Context context) {
			super(context);
			// TODO Auto-generated constructor stub
			// 사용자 View 생성시 단말기 크기의 정보를 가져와야 한다.
			Display display = ((WindowManager) context
					.getSystemService(Context.WINDOW_SERVICE))
					.getDefaultDisplay();
			width = display.getWidth();
			height = display.getHeight();

		}
		@Override
		protected void onDraw(Canvas canvas) {
			// TODO Auto-generated method stub
			super.onDraw(canvas);
			Paint paint = new Paint();
			paint.setColor(Color.WHITE);
			paint.setTextSize(20);
			canvas.drawText("해상도 = " + width + " x " + height, 100, 200, paint);
					
		}
	}
}