【发布时间】:2017-12-05 03:51:42
【问题描述】:
【问题讨论】:
-
好问题,但需要更清楚。
-
@GokulSreenivasan 谢谢你的评论 :)
标签: android xml layout android-edittext
【问题讨论】:
标签: android xml layout android-edittext
是的,你可以,你必须使用 Spannable 类。
final String yourText = "Your text to be filled";
final int length_you_want = 5;
Spannable modifiedText = new SpannableString(yourText);
modifiedText.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.green)), 0, length_you_want, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(modifiedText);
【讨论】:
如果你有两个不同的文本要着色,然后组合成一个,你可以做不同的事情;
public String getColoredString(String pname) {
Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
Spannable wordToSpan = new SpannableString(pname);
wordToSpan.setSpan(new ForegroundColorSpan(color), 0, pname.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return wordToSpan.toString();
}
将字符串传递给方法并在需要的地方使用它。
textview.settext(getColoredString("your text1")+getColoredString("your text2));
【讨论】: