binding.view.layoutParams.height → layoutParams를 입력하지 않고 binding.view.height만을 입력하는 경우 0이 출력됨

textView의 경우에는 binding.textView.lineHeight를 사용해야 해당 TextView의 높이를 구할 수 있다.

//화면상에 보여지는 절대값 Screen Height값
fun getScreenHeight(context: Context): Int {
    val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
		//R: API Level30 (Android11)
    return if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.R) { 
        val windowMetrics = wm.currentWindowMetrics
		val insets = windowMetrics.windowInsets
					  .getInsetsIgnoringVisibility(WindowInsets.Type.systemBars())
        windowMetrics.bounds.height() - insets.bottom - insets.top
    } else { //Android11 이하
        val displayMetrics = DisplayMetrics()
        wm.defaultDisplay.getMetrics(displayMetrics)
        displayMetrics.heightPixels
    }
}

+ Recent posts