프로그래밍 언어/Android

안드로이드에서 프로그래밍 방식으로 화면 밀도를 얻는 방법

Rateye 2021. 6. 26. 13:39
728x90
반응형
질문 : 안드로이드에서 프로그래밍 방식으로 화면 밀도를 얻습니까?

Android에서 프로그래밍 방식으로 화면 밀도를 얻는 방법은 무엇입니까?

내 말은 : 현재 장치의 화면 dpi를 찾는 방법은 무엇입니까?

답변

DisplayMetrics 구조체에서 디스플레이에 대한 정보를 얻을 수 있습니다.

DisplayMetrics metrics = getResources().getDisplayMetrics();

Android는 직접 픽셀 매핑을 사용하지 않지만 소수의 양자화 된 밀도 독립 픽셀 값을 사용한 다음 실제 화면 크기로 확장됩니다. 따라서 metrics.densityDpi 속성은 DENSITY_xxx 상수 ( 120 , 160 , 213 , 240 , 320 , 480 또는 640 dpi) 중 하나가됩니다.

실제 LCD 픽셀 밀도가 필요한 경우 (아마도 OpenGL 앱의 경우) 가로 및 세로 밀도에 대한 metrics.xdpimetrics.ydpi

4 이전의 API 수준을 대상으로하는 경우 metrics.density 속성은 참조 밀도 (160dpi)의 부동 소수점 배율 인수입니다. metrics.densityDpi 제공하는 동일한 값을 계산할 수 있습니다.

int densityDpi = (int)(metrics.density * 160f);
출처 : https://stackoverflow.com/questions/3166501/getting-the-screen-density-programmatically-in-android
728x90
반응형