[Android] 화면 상태 (가로, 세로), 스크린사이즈, 액티비티사이즈 알아보기
가로: Landscape, 가로의 길이가 세로 보다 길때
만약 코드상에서 알고 싶다면
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int deviceWidth = displayMetrics.widthPixels;
int deviceHeight = displayMetrics.heightPixels;
if( deviceWidth > deviceHeight)
// 가로
else
// 세로
* 나중에 알게된 사실이지만 현재 상태를 알려주는 함수가 있다.
droid.view.Display.getRotation() 를 이용해 보자..
* 참고자료
- 스크린 사이즈 구하는 방법
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int pxWidth = displayMetrics.widthPixels;
int pxHeight = displayMetrics.heightPixels;
//--- displayMetrics.density : density / 160, 0.75 (ldpi), 1.0 (mdpi), 1.5 (hdpi)
int dipWidth = displayMetrics.widthPixels / displayMetrics.density;
int dipHeight = displayMetrics.heightPixels / displayMetrics.density
- Activity 화면 사이즈를 구하는 방법
StringBuffer buf = null;
WindowManager wm = null;
Display display = null;
DisplayMetrics metrics = null;
wm = getWindowManager();
display = wm.getDefaultDisplay();
metrics = new DisplayMetrics();
display.getMetrics(metrics);
buf = new StringBuffer();
buf.append("Window display id: " + display.getDisplayId() + "\n");
buf.append("Window orientation: " + display.getOrientation() + "\n");
buf.append("Window width: " + display.getWidth() + "\n");
buf.append("Window height: " + display.getHeight() + "\n");
buf.append("Window pixel format: " + display.getPixelFormat() + "\n");
buf.append("Window refresh rate: " + display.getRefreshRate() + "\n");
buf.append("Window width pixels: " + metrics.widthPixels + "\n");
buf.append("Window height pixels: " + metrics.heightPixels + "\n");
testMsg.setText(buf.toString());