안드로이드
[Android, fromHtml] textview 에서 문자 일부 수정 하기
Black-Jin
2018. 8. 1. 14:09
반응형
안녕하세요. 블랙진 입니다.
이전에 Spannable 을 사용하여 textview 문자 일부 수정하기 포스팅을 했습니다.
이번에는 html 을 사용하여 문자 일부를 수정하는 법에 대해 포스팅 해보겠습니다.
먼저 코드부터 보겠습니다.
val myTitle: Spanned?
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
myTitle = Html.fromHtml("<b>블랙진의</b> <u>티스토리로</u> <i>놀러오세요</i>", Html.FROM_HTML_MODE_COMPACT)
} else {
myTitle = Html.fromHtml("<b>블랙진의</b> <u>티스토리로</u> <i>놀러오세요</i>")
}
tvTitle.text = myTitle
위와 같이 설정하면 (하단 tvTitle 은 xml 에서 textView 의 id 입니다.)
블랙진의 티스토리로 놀러오세요 -> 블랙진의 티스토리로 놀러오세요 이렇게 바뀝니다.
html 태그 중에서
<b></b> 로 감싼 부분은 두꺼운 글씨체가 되고
<u></u> 로 감싼 부분은 밑줄이 그어지고
<i> </i> 로 감싼 부분은 기울기가 적용됩니다.
그리고 Html.fromHtml 은 버전에 따라 사용방법이 나뉩니다. 안드로이드 버전 api 24 '누가(Nougat)' 이상에서는 fromHtml 사용법이 달라졌습니다.
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
myTitle = Html.fromHtml("<b>블랙진의</b> <u>티스토리로</u> <i>놀러오세요</i>", Html.FROM_HTML_MODE_COMPACT)
} else {
myTitle = Html.fromHtml("<b>블랙진의</b> <u>티스토리로</u> <i>놀러오세요</i>")
}
그래서 위와 같이 버전에 따른 예외 처리를 해주셔야 합니다.
이상 html 태그를 이용해 textview 일부를 변경하는 법에 대한 포스팅이였습니다.
반응형