변화하는 텍스트의 모든 단어의 색상을 변경하고 싶습니다. 어떻게해야합니까?안드로이드는 모든 문자열 색상을 변경합니다.
selected.setText("ID".Color.RED + "data".Color.BLUE);
변화하는 텍스트의 모든 단어의 색상을 변경하고 싶습니다. 어떻게해야합니까?안드로이드는 모든 문자열 색상을 변경합니다.
selected.setText("ID".Color.RED + "data".Color.BLUE);
더 간단한 방법 :
TextView.setText(Html.fromHtml("<some html color tag/>"));
당신은 SpannableString
SpannableString ss1= new SpannableString("ID");
ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, ss1.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
selected.append(ss1);
SpannableString ss2= new SpannableString("data");
ss2.setSpan(new ForegroundColorSpan(Color.BLUE), 0, ss2.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
selected.append(ss2);
당신은 공백으로 단어를 분할 단어에 범위를 설정할 수 있습니다 사용할 수 있습니다.
예 :
TextView _tv = (TextView) findViewById(R.id.tv);
int[] color ={Color.BLUE,Color.RED,Color.GREEN};
String s =" My Dynamic Text";
String split[] = s.split("\\s");
int j=0;
for(int i=1;i<split.length;i++)
{
System.out.println(split[i]);
SpannableString ss2= new SpannableString(split[i]);
ss2.setSpan(new ForegroundColorSpan(color[j]), 0, ss2.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
_tv.append(ss2);
_tv.append(" ");
j++;
}
스냅 당신은 아마 각 단어의 색상을 변경하려면이 같은 (즉 spannable 사용) 기능을 사용할 수 있습니다
촬영
public Spannable getColoredStringSpannable(String text, int color,
int from, int to) {
Spannable WordtoSpan = new SpannableString(text);
WordtoSpan.setSpan(new ForegroundColorSpan(color), from, to,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return WordtoSpan;
}
spannable 문자열을 사용할 수 있습니다. – Raghunandan
을 사용하면 단어를 공백으로 분리하고 개별 단어에 스팬을 적용 할 수 있습니다. 수정 된 게시물을 확인하십시오. 동적 텍스트로 문자열을 대체하십시오. – Raghunandan