Notice
Recent Posts
Recent Comments
Link
투케이2K
19. (AndroidStudio/android/java) 실제 모바일 기기 사이즈 확인 실시 - DisplayMetrics, DP 사이즈 확인 본문
Android
19. (AndroidStudio/android/java) 실제 모바일 기기 사이즈 확인 실시 - DisplayMetrics, DP 사이즈 확인
투케이2K 2021. 1. 22. 16:12/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
//TODO ==== [화면 사이즈 확인 전역 변수] ====
String MobileSizeData = "";
String WidthSizeData = "";
String HeightSizeData = "";
//TODO ======== 화면 사이즈 확인 =========
Log.d("---","---");
Log.d("//===========//","===================");
Log.d("","\n"+"[A_MobileSize > 실제 모바일 기기 사이즈 확인 실시]");
Log.d("//===========//","===================");
Log.d("---","---");
try {
MobileSizeData = getMobileSize();
if(MobileSizeData.equals("W")){ //TODO 시계
}
else if(MobileSizeData.equals("S")){ //TODO 작은 화면 (S6 기기)
}
else if(MobileSizeData.equals("M")){ //TODO 중간 화면 (NOTE5 기기)
}
else if(MobileSizeData.equals("L")){ //TODO 큰 화면 (Q9 기기)
}
else if(MobileSizeData.equals("XL")){ //TODO 엄청 큰 화면 (탭 종류)
}
else{
}
}
catch (Exception e){
e.printStackTrace();
}
//TODO ====== [모바일 화면 사이즈 확인 메소드] ========
public String getMobileSize(){
String size = "";
try {
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpHeight = outMetrics.heightPixels / density;
float dpWidth = outMetrics.widthPixels / density;
Log.d("---","---");
Log.w("//===========//","===================");
Log.d("","\n"+"[getMobileSize() 메소드 실행 : 실제 모바일 DP 사이즈 확인]");
Log.d("","\n"+"["+"디바이스 - "+String.valueOf("Android")+" / Android OS - "+String.valueOf(Build.VERSION.RELEASE)+"]");
Log.d("","\n"+"["+"모델 - "+String.valueOf(Build.MODEL)+" / 제조사 - "+String.valueOf(Build.MANUFACTURER)+"]");
Log.d("","\n"+"["+"가로 - "+String.valueOf(dpWidth)+" (DP)"+" / 세로 - "+String.valueOf(dpHeight)+" (DP)"+"]");
int dpWidthValue = (int)dpWidth;
int dpHeightValue = (int)dpHeight;
/**
* [장치] [가로] [세로]
* 1) Watch = 250dp 250dp
* 2) mobile = 320dp 569dp (s6)
* 3) mobile = 400dp 730dp (note 5)
* 4) mobile = 400dp 810dp (note 10 / LG Q9)
* 5) mobile = 800dp 1280dp (Tab)
* 6) Tablet = 960dp 600dp (Tab)
* 1280dp 800dp
*/
if(dpHeightValue < 320){ //0 ~ 319
size = "W";
}
else if(dpHeightValue < 660){ //320 ~ 659
size = "S";
}
else if(dpHeightValue < 750){ //660 ~ 749
size = "M";
}
else if(dpHeightValue < 900){ //750 ~ 899
size = "L";
}
else if(dpHeightValue < 1600){ //900 ~ 1599
size = "XL";
}
else{
size = "NO";
}
Log.d("","\n"+"["+"화면 사이즈 - "+String.valueOf(size)+"]");
Log.w("//===========//","===================");
Log.d("---","---");
WidthSizeData = String.valueOf((int)dpWidth);
HeightSizeData = String.valueOf((int)dpHeight);
}
catch (Exception e){
e.printStackTrace();
}
return size;
}
/* =========================== */
/* =========================== */
[요약 설명]
/**
* [장치] [가로] [세로]
* 1) Watch = 250dp 250dp
* 2) mobile = 320dp 569dp (s6)
* 3) mobile = 400dp 730dp (note 5)
* 4) mobile = 400dp 810dp (note 10 / LG Q9)
* 5) mobile = 800dp 1280dp (Tab)
* 6) Tablet = 960dp 600dp (Tab)
1280dp 800dp
*/
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments