Spannable 을 이용하여 특정 문자열 색 변경.
public Spannable setTextViewColorPartial(TextView view, int color
, boolean isBold, boolean isFist, String fulltext, String... subtext) {
view.setText(fulltext, TextView.BufferType.SPANNABLE);
Spannable str = (Spannable) view.getText();
try {
if (subtext != null) {
for (String text : subtext) {
int i = 0;
if (isFist) {
i = fulltext.indexOf(text);
} else {
i = fulltext.lastIndexOf(text);
}
str.setSpan(new ForegroundColorSpan(color), i, i + text.length()
, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
if (isBold) {
str.setSpan(new StyleSpan(Typeface.BOLD), i, i + text.length()
, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
폰트사이즈 변경
public static void setTextViewFontSizePartial(TextView view, float size, String fulltext
, String... subtext) {
view.setText(fulltext, TextView.BufferType.SPANNABLE);
Spannable str = (Spannable) view.getText();
if (subtext != null) {
for (String text : subtext) {
int i = fulltext.indexOf(text);
str.setSpan(new RelativeSizeSpan(size), i, i + text.length()
, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
참고...
http://wawoops67.blogspot.kr/2013/01/android-spannable.html
'android' 카테고리의 다른 글
adb를 이용하여 디바이스 동영상 캡쳐... (0) | 2014.10.23 |
---|---|
UncaughtExceptionHandler 을 구현하여 앱이 비정상적으로 종료됐을때 로그를 저장하자... (0) | 2014.09.07 |
1000 단위 콤마찍기... (0) | 2014.09.02 |
유연성 있는 ViewHolder Pattern (0) | 2014.09.02 |
파일 용량 표시... (0) | 2014.09.02 |
댓글