상세 컨텐츠

본문 제목

안드로이드 해상도 구하기 및 화면 중앙 표시

프로그래밍/Android

by ryujt 2011. 1. 2. 05:15

본문

해상도 별로 레이아웃 설정을 변경하거나 또는 늘이거나 줄이지 않고, 중앙에 표시하고자 할 때는 아래와 같이 합니다.  현재 진행 중인 게임 강좌에 맞춰서 예제를 만들어 봤습니다.
package app.main;

import ryulib.game.GamePlatform;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.LinearLayout;

public class Main extends Activity {
	
	private static final int _Width = 300;
    private static final int _Height = 400;
    
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        int deviceWidth  = displayMetrics.widthPixels;
        int deviceHeight = displayMetrics.heightPixels;
        
        LinearLayout layout = new LinearLayout(this);
        layout.setPadding(
        		(deviceWidth  - _Width)  / 2, 
        		(deviceHeight - _Height) / 2, 
        		(deviceWidth  - _Width)  / 2, 
        		(deviceHeight - _Height) / 2 
        );
        setContentView(layout);        
        
        _GamePlatform = new GamePlatform(this);
        layout.addView(_GamePlatform);
        
        _GamePlatform.AddControl(_Box);
     }
    
    private GamePlatform _GamePlatform = null;
    private Box _Box = new Box(null);   
}

관련글 더보기