728x90
반응형
* Anroid P 이상 높이
1. device 사이즈 가져오기
fun getScreenSize(activity: Activity): DisplayMetrics {
val displayMetrics = DisplayMetrics()
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val display = activity.display
display?.getRealMetrics(displayMetrics)
displayMetrics
} else {
@Suppress("DEPRECATION")
val display = activity.windowManager.defaultDisplay
@Suppress("DEPRECATION")
display.getMetrics(displayMetrics)
displayMetrics
}
}
- width, height
ScreenSize().getScreenSize(activity).widthPixels //width
ScreenSize().getScreenSize(activity).heightPixels //height
- status bar, navigation bar
val resources: Resources = activity.resources
resources.getIdentifier("navigation_bar_height", "dimen", "android")
resources.getIdentifier("status_bar_height", "dimen", "android")
* getMetrics() : status bar에 카메라가 있는 폰과 아닌 폰에서 가져오는 높이 값이 다르다.
* getRealMetrics() : status bar에 카메라가 달린 폰과 아닌 폰 상관없이 디바이스의 실재 해상도 값을 리턴합니다. 이 값에서 상태바와 소프트 네이게이션 바의 높이를 필요에 따라 빼서 사용하면 된다.
참조 : https://black-jin0427.tistory.com/230
728x90
반응형
'Kotlin' 카테고리의 다른 글
[j Android] 코틀린 handler() 몇 초 후 실행하기 (0) | 2023.03.10 |
---|---|
[j Android] 캡쳐,녹화 방지 및 캡쳐방지 해제 (0) | 2023.01.28 |
[j android] webview 결제 연동 -> 외부 앱 연결 (1) | 2022.11.28 |
[j android] 구글스토어 배포 후 페이스북, 카카오 로그인 안 될 때 (SHA-1, KEY HASH) (0) | 2022.11.11 |
[j android] 프로젝트에 aar 파일 추가하기 (0) | 2022.10.20 |