일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 공부집중
- 오픈소스
- recyclerview
- DART
- Streaming
- 명심보감
- 장자명언
- androidx
- 파이썬
- Linux
- 벤자민플랭클린
- Coroutine
- ASMR
- Firebase
- Android
- 명언모음
- bash
- 소울칼리버6
- kotlin
- 좋은글필사하기
- 넷플릭스
- FSM
- Freesound
- 이모지
- 1인개발자
- 공자명언
- jetpack compose
- Flutter
- 코틀린
- 이모지메모
Archives
- Today
- Total
Vintage appMaker의 Tech Blog
[TextView] linecount 얻기 - ScrollView에서.. 본문
Source code or Tip/Android(Java, Kotlin)
[TextView] linecount 얻기 - ScrollView에서..
VintageappMaker 2021. 8. 20. 11:21TextView의 라인갯수는 lineCount로 알 수 있다.
그런데, ScrollView 형식의 부모에서는 바로 얻어낼 수 없다.
반드시 화면이 정리된 이후에 카운트를 가져올 수 있다.
그러므로 addOnLayoutChangeListener()를 구현하여 그 안에서 lineCount 값을 처리해야 한다.
val txtLineCount = findViewById<TextView>(R.id.txtLineCount)
txtLineCount.addOnLayoutChangeListener { view, i, i2, i3, i4, i5, i6, i7, i8 ->
// lineCount는 레이아웃이 완료된 시점에서 재대로 동작한다.
val cnt = txtLineCount.lineCount
val LIMITLINE= 5
if (cnt > LIMITLINE) {
val s = txtLineCount.text
var s2 = ""
s.split("\n").forEachIndexed{ index, data -> if (index < LIMITLINE) s2 += "${data}\n" }
txtLineCount.text = s2
}
}
'Source code or Tip > Android(Java, Kotlin)' 카테고리의 다른 글
Glide를 TextView에서 사용하기 (0) | 2021.09.21 |
---|---|
WebView에서 javascript 에러가 발생할 때 (0) | 2021.09.18 |
[링크] Android jetpack compose 스터디 링크 (0) | 2021.08.16 |
[ViewModel] ViewModel과 Coroutine을 이용한 타이머 (0) | 2021.08.16 |
[android] code로 view의 weight 조절 (0) | 2021.07.22 |
Comments