개발 태블릿과 홍보용 태블릿의 해상도가 달라 인터페이스가 어색해보여,
해상도에 따라 View의 크기가 달라지도록 수정하고자 하였다.
fun getScreenSize(activity: Activity): Point {
val display = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) activity.display
else @Suppress("DEPRECATION") activity.windowManager.defaultDisplay
val size = Point()
display?.getSize(size)
return size
}
fun getStandardSize(): Pair<Float, Float> {
val screenSize = getScreenSize(getBaseActivity())
val density = resources.displayMetrics.density
val standardSizeX = (screenSize.x/density)
val standardSizeY = (screenSize.y/density)
return Pair(standardSizeX,standardSizeY)
}
Pair로 리턴을 받으므로 first는 가로값, second는 세로값
3-1. TextView fontSize 변경
binding.textView.textSize = getStandardSize().first / 36
3-2. View의 width/height 변경
val standard = getStandardSize().first
val pbParams = childBinding.progressbar.layoutParams
pbParams.width = (standard / 3).toInt()
pbParams.height = (standard / 3).toInt()
binding.progressbar.layoutParams = pbParams
도움받은 곳
https://featherwing.tistory.com/22
https://blacktrees.tistory.com/entry/Android-view-layout-width-height-%EB%B3%80%EA%B2%BD-%EB%B0%A9%EB%B2%95