마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

화면 크기로 리소스 폴더 나누기

0 추천

지금 휴대폰이 두 종류 있습니다. 노트5랑 갤럭시6 이렇게 있는데요..

화면 가로세로 비율이 달라서인지 같은 화면인데도 차이가 너무 심해서

리소스 폴더를 나눠서 따로 크기를 정해줘야 할 거 같아서요.

 

둘 다 xxhdpi고 

 

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;

이렇게 해서 나온 세로 DP랑 가로 DP는 각각 아래와 같이 나왔습니다. (가로 방향입니다)

노트5 

 - 가로 : 731

 - 세로 : 411

 - outMetrics.densityDpi : 560

갤럭시6

 - 가로 : 640

 - 세로 : 360

 - outMetrics.densityDpi : 640

 

여튼.. 리소스 폴더를 따로 만드려고 했는데..

 

구분을 어떻게 해야 할 지 모르겠네요..

누가 layout-h<dp값>dp-xxhdpi 하면 세로 크기로 나눈다고 들었는데..

layout-h400dp-xxhdpi  /  layout-xxhdpi 이렇게 나누니까 둘 다 같은 결과가 나왔어요

(둘 다 layout-xxhdpi폴더 사용)

 

layout-long-xxhdpi  /  layout-xxhdpi 이렇게 나누니까 또 같은 결과가 나왔구요.

(둘 다 layout-long-xxhdpi 폴더 사용)

 

layout-h400dp-xxhdpi << 여기서 쓰는 h400dp라는 뜻이 세로가 400dp 이상일 때 라고 알고 있는데

그게 저 위에 공식으로 구한 값이 아닌가요?? 따로 구해야하나요?ㅠㅠ

 

정말정말 급해요 ㅠㅠ 도와주세요 ..

relz (2,550 포인트) 님이 2016년 3월 31일 질문

1개의 답변

0 추천
560dp 는 xxhdpi 와 xxxhdpi 사이에 들어갑니다. (구글이 한 삽질 중 하나입니다.)

리소스 디렉토리명 지정하는 것은 아래 페이지를 참고하세요.

http://developer.android.com/guide/topics/resources/providing-resources.html

그리고 가로/세로를 반대로 적용하고 계십니다.
익명사용자 님이 2016년 4월 1일 답변
2016년 4월 1일 수정
...