[안드로이드] TextView의 색상, 효과를 부분적으로 적용하는 방법

 프로그램을 만들다보면 ‘안녕하세요. 반갑습니다.’ 왼쪽과 같이 부분적으로 색상을 변경해야 되는 경우가 발생할 수 있습니다. 또는 부분적으로만 Bold처리 등을 할 수도 있습니다. 이러한 경우 아래와 같은 코드를 사용할 수 있습니다.


final SpannableStringBuilder sp = new SpannableStringBuilder(“안녕하세요.”);
sp.setSpan(new ForegroundColorSpan(Color.RED), 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.append(sp);

 안드로이드펍에 어떤 글에서는 String에 Html태그가 적용이 된다고 되어 있는데, <b><u>와 같은 태그만 적용이 되었고 색상에 대해서는 잘 안되었습니다. (가능한 방법은 [이쪽] 자료를 참고해 보시길 바랍니다). 그래서 검색해서 이 방법을 찾아서 사용하였습니다.

 위 코드를 분석하면 “안녕하세요.” 라는 텍스트의 1~3위치에 있는 텍스트를 RED 색상으로 변경해서 textView에 넣는 코드입니다. 여러 가지로 색상을 바꿔야하면sp를 Clear한 다음에 append로 텍스트를 넣어서 재활용 할 수 있습니다.

– 참고 자료
http://developer.android.com/reference/android/text/SpannableStringBuilder.html
http://anddev.tistory.com/49
http://www.mailinglistarchive.com/[email protected]/msg27030.html
http://www.androidpub.com/android_dev_info/51697

4 thoughts on “[안드로이드] TextView의 색상, 효과를 부분적으로 적용하는 방법

  1. 음, 좋은 글입니다. 근데 만약 엄청나게 긴~~ 문장이라면,
    일일이 세면서 해야하나요 저렇게… 흠…
    같이 중간중간 이렇게 필요한 부분만 강조하려 하는데,
    에고 어렵군요 ㅠㅠ 음…

답글 남기기

이메일 주소는 공개되지 않습니다.