9-3 폰 크기의 호환성

StrayCat·2022년 10월 8일
0

논리적인 단위

  • 안드로이드 시스템에서는 기기의 크기를 밀도별로 아래처럼 구분한다.

    • (저밀도) ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi (고밀도)
    • dpi : dots per inch
  • 논리적인 단위를 사용할 경우, 안드로이드 시스템은 화면 밀도에 따라 컨텐츠의 크기를 조절해준다.

  • 대표적으로 2가지를 사용한다.

    • dp (dip : density-independent pixels) : 스크린의 물리적 밀도에 기반
    • sp (sip : scale-independent pixels) : dp와 유사하며 글꼴 크기에 적용
  • 각 화면 밀도에 따라 정해진 배율만큼 픽셀 수가 증감되어 출력된다.

물리적인 단위

  • 대표적으로 3가지를 사용한다.
    • px : 픽셀
    • mm
    • in : 인치

화면 정보 가져오기

  • 개발자가 크기를 임의로 조절하기 위해 화면 정보가 필요할 때 아래와 같이 가져온다.
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){ // 30버전 이상
            val windowMetrics: WindowMetrics = windowManager.currentWindowMetrics
            binding.textView.text = "${windowMetrics.bounds.width()}, ${windowMetrics.bounds.height()}"
        } else{ // 29버전 이하 ( deprecated )
            val display = windowManager.defaultDisplay
            val displayMetrics = DisplayMetrics()
            display.getRealMetrics(displayMetrics)
            binding.textView.text = "${displayMetrics.widthPixels}. ${displayMetrics.heightPixels}"
        }

0개의 댓글