정상에서 IT를 외치다

[Android, fromHtml] textview 에서 문자 일부 수정 하기 본문

안드로이드

[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 일부를 변경하는 법에 대한 포스팅이였습니다.

반응형
Comments