Android NoteX Q12: Как определить, что текстовое представление превышает одну строку?

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
}

Какая польза?

Например, когда дизайн пользовательского интерфейса имеет фиксированную высоту, а TextView должен быть центрирован и не может превышать 2 строки, поскольку длина текста неизвестна, невозможно определить, использовать ли 1 строку или 2 строки, и это трудно добиться центрирующего эффекта. Следовательно, пока количество строк задается динамически, проблема может быть решена.

Guess you like

Origin blog.csdn.net/ganshenml/article/details/118531825