Published 2022. 6. 23. 00:00
반응형
Android TextView String resource bold / textView set html
텍스트뷰에는 String만이 아닌 html로 되어 있는 string resource도 추가할 수 있는데, 기존의 방법과는 조금 다르다
<string name="sample"><![CDATA[<b>Title</b><br><p>sample is sample</p>]]></string>
string resource에서 CDATA를 이용하면 간단한 html 태그도 사용할 수 있다.
컬러까지 변경이 가능한데 폰트 크기까지는 변경이 안되는 걸로 알고 있다.
일단 제목에 bold라고 해놓았으니 해당 태그인 <b>태그를 추가 하였다.
위와 같이 설정 후 기존에 textview에 setText를 하면 에러가 난다.
fun spannedToString(msg: String): Spanned {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return Html.fromHtml(msg, Html.FROM_HTML_MODE_LEGACY)
} else {
@Suppress("DEPRECATION")
return Html.fromHtml(msg)
}
}
위와 같은 간단한 함수를 만든 후
val sampleMsg = context.getString(R.string.sample)
textview.text = spannedToString(sampleMsg)
위와 같은 방법으로 textview에 셋팅을 하면 html 태그가 적용된 형태의 textview을 확인할 수 있다.
개인적으로 string resource가 지저분해져서 쓰고 싶지는 않지만 간단한거는 사용하면 좋을 것 같다!
반응형
'[# 2]…My DevelopStory' 카테고리의 다른 글
Android Force Update Check ~ Google InApp update lib (1) | 2022.06.24 |
---|---|
Android exoplayer get play state (0) | 2022.06.23 |
Android TabLayout, Viewpager2 selected tab text bold (0) | 2022.06.21 |
안드로이드 adjustNothing 키보드 높이 구하기 - Android adjustNothing get keyboard height (0) | 2021.09.08 |
안드로이드 코틀린 Chip inflate error - Android Kotlin Chip Infalte Error (0) | 2021.09.04 |