나의 플랫폼/안드로이드
[Kotlin] View Height, Width 변경
GsBOB
2018. 8. 21. 22:41
Kotlin의 Extension 기능을 이용하면 쉽게 View에 크기를 조절할 수 있다.
/**
* Extension method to set View's height.
*/
fun View.setHeight(value: Int) {
val lp = layoutParams
lp?.let {
lp.height = value
layoutParams = lp
}
}
/**
* Extension method to set View's width.
*/
fun View.setWidth(value: Int) {
val lp = layoutParams
lp?.let {
lp.width = value
layoutParams = lp
}
}
http://kotlinextensions.com/#view
위 두 함수를 추가 해놓은 후,
아무 View에서나 함수를 호출 해서 사용하면 된다.
참고용으로 아래는 내가 테스트용으로 만든 RecyclerView에서 item 높이를 변경 하는 소스 이다.
class ViewHolder(val binding:LayoutCardBinding, itemHeight:Int?): RecyclerView.ViewHolder(binding.root) {
init {
if (itemHeight != null) {
binding.root.setHeight(itemHeight)
}
}
}
binding은 DataBinding을 사용한 것으로,
root View에 크기를 변경한 소스 이다.
참고 하세요.