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