TextView에서 한 줄에 표시되는 글자수를 계산 하는 코드
var textView: TextView = findViewById(R.id.textView)
val COL : Int = Math.round(textView.width / textView.paint.measureText("가나다라마.") * 6)
그런데 OnCreate에서 위 함수를 사용하면 0이 나온다.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.textviewer)
val vto: ViewTreeObserver = textView.getViewTreeObserver()
vto.addOnGlobalLayoutListener {
if (getWidthCount < 1) {
getWidthCount++
val COL : Int = Math.round(textView.width / textView.paint.measureText("가나다라마.") * 6)
Log.i(TAG, "getWidth:" + COL)
}
}
}
이 경우 위와 같이, 코드를 추가해 주면 된다.