如何填写不同颜色的`EditText`项目?

时间:2017-12-05 03:51:42

标签: android xml layout android-edittext

我可以在这样的EditText项中填充不同的颜色吗?

enter image description here

当然,我可以使用两个EditText,但我很好奇它可以使用EditText

2 个答案:

答案 0 :(得分:0)

是的,你可以,你必须使用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);

答案 1 :(得分:0)

如果您有两种不同的文字颜色,后来合并为一种颜色,Yon可以采用不同的方式;

 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));