728x90
ellipsize 옵션으로 글자가 maxline 옵션설정값을 넘어가면 ... 으로 보이는 것을 더보기 / 접기 로 구현
private fun setViewMore(
contentTextView: TextView,
viewMoreTextView: TextView,
closeTextView: TextView
) {
// getEllipsisCount()을 통한 더보기 표시 및 구현
contentTextView.post {
val lineCount = contentTextView.layout.lineCount
if (lineCount > 0) {
if (contentTextView.layout.getEllipsisCount(lineCount - 1) > 0) {
// 더보기 표시
viewMoreTextView.isVisible = true
// 더보기, 접기 클릭 이벤트
viewMoreTextView.setOnClickListener {
contentTextView.maxLines = Int.MAX_VALUE
viewMoreTextView.isVisible = false
closeTextView.isVisible = true
}
// 접기 표시
closeTextView.setOnClickListener {
contentTextView.maxLines = 1
viewMoreTextView.isVisible = true
closeTextView.isVisible = false
}
}
}
}
}