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
}
}
'Android개발 > Kotlin' 카테고리의 다른 글
[Android][Kotlin]Array와 ArrayList 차이 (0) | 2025.04.30 |
---|---|
[Android][Kotlin]화면 절전모드 On,Off (0) | 2025.04.30 |
[Android][Kotlin]SpannableString (0) | 2025.04.30 |
[Android][Kotlin]Hilt (0) | 2025.04.30 |
[Android][Kotlin]View의 Height구하기 (0) | 2025.04.15 |