본문 바로가기

자료

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 ··· der.html
http://anddev.tistory.com/49
http://www.mailinglistarchive.com/andr ··· 030.html
http://www.androidpub.com/android_dev_info/51697


출처 : http://www.dingpong.net/tt/215