Android NoteX Q12:如何判定textview超出了一行?

fun setContent(content: String?) {
    data.content = content
    contentTv?.apply {
    //比较是否超出了一行
    post {
            paint.textSize = textSize
            val exceedOneLine = paint.measureText(content) > width
            setLines(if (exceedOneLine) 2 else 1)
         }
    }
    contentTv?.text = content
}

有什么用?

譬如UI设计固定高度且要TextView居中对齐且不能超过2行时,因为文本长度不确定,此时就无法确定使用1行还是2行,进而就较难实现居中效果。因此,只要动态设置行数就能解决该问题。

你可能感兴趣的:(Android NoteX Q12:如何判定textview超出了一行?)