Android Study

Android 디바이스 사이즈 폴더별 해상도

85chong 2021. 5. 7. 08:34
728x90
반응형
SMALL

* 안드로이드는 res 폴더에 view를 담당하는 파일들이 많음, 그중에 해상도 폴더에 관하여 기록함

 

* 대부분 아래와 같은 폴더를 생성하여 사용함 (ex : drawable-hdpi )

 

* 사용은, 디바이스의 크기가 단순하게 가로세로에 맞춰서 하기엔 화질에 따른 구분도 있어서 폴더에서는 이를 dpi 로 구분지어 디바이스의 dpi 에 속하는 폴더의 이미지를 가져와 사용하게 됨

 

* 예를 들어, img_good.png 파일을 기기별 사이즈에 어느정도는 맞게 대응을 하려고한다면,

아래와 같이 폴더를 만들고, 그에 맞는 이미지를 제작해 넣을수있다.

 

- drawable-mhdpi

      - img_goog.png (이미지는 360 x 640 기준으로 제작된 이미지 이여야함)

- drawable-hdpi

      - img_goog.png (이미지는 540 x 960 기준으로 제작된 이미지 이여야함)

- drawable-xhdpi

      - img_goog.png (이미지는 720 x 1280 기준으로 제작된 이미지 이여야함)

- drawable-xxhdpi

      - img_goog.png (이미지는 1080 x 1920 기준으로 제작된 이미지 이여야함)

- drawable-xxxhdpi

      - img_goog.png (이미지는 1440 x 2560 기준으로 제작된 이미지 이여야함)

 

* 디바이스는 이미지를 가져다 사용할때 폴더가 큰 xxxhdpi 사이즈부터 -> 작은 사이즈 mdhpi 순서로 폴더를 찾아간다.

 

* 이때 어떤 디바이스에서 어떤 이미지를 사용하느냐에 따른 계산은 아래와 같음

 

 

* 위에 보면 dpi 가 있는데, 이부분을 직접 눈으로 확인하고 싶다면, 해당 디바이스의 dpi 값을 구하고,

폴더별 이름은 같지만 생김새가 다른 이미지를 넣어서 출력해보면 됨

 

* 디바이스dpi 값 구하기

Class Test: Activity(){
     override fun onCreate(savedInstanceState: Bundle?) {
         windowManager.defaultDisplay.getRealMetrics(DisplayMetrics())
         val getDpi = metrics.densityDpi
    }
}

 

- 끝 -