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行,进而就较难实现居中效果。因此,只要动态设置行数就能解决该问题。