Android 动态设置TextView line 问题

2022-03-09  本文已影响0人  _发强

今天在处理一个 TextView 文本过长,需要添加一个 ”展开全文“,和 ”收起更多“ 的功能

类似这样的

image.png
在处理代码的时候,首先要先给 TextView 设置内容, 然后才能判断是否需要显示 ”展开全部“ 的标签,
那么这里就有第一个问题了:
textView.post {
  // 在这里去获取 textView 的 linesCount
  val lines = textView.lineCount  // lines 才会有值,
   // 然后再是根据当前的 lines 去初始化展开状态,
  if (lines > 3) {
    .....   // 执行一些操作.
  }
}

初始化展开状态完成后,我们需要通过点击事件去改变 文本的显示状态,是否展开,
这个时候,就有第二个问题了,

            if (text == "收起更多") {
                newLine = 3
                tvExpand.text = "展开更多"
                tvDesc.setLines(newLine)
            } else {
                newLine = Int.MAX_VALUE
                tvExpand.text = "收起更多"
                tvDesc.maxLines = newLine
            }
上一篇下一篇

猜你喜欢

热点阅读