2017-12-05 4 views
1

Könnte ich eine andere Farbe in einem EditText-Objekt wie diesem füllen?Wie bearbeite ich `EditText` Objekte mit verschiedenen Farben?

enter image description here

Sicher, ich bin in der Lage zu verwenden, um zwei EditText aber ich neugierig, dass es in der Lage, ein EditText zu verwenden.

+0

gute Frage, aber mehr Klarheit erforderlich. –

+0

@GokulSreenivasan Vielen Dank für den Kommentar :) –

Antwort

0

Ja, Sie können, müssen Sie die Spannable Klasse verwenden.

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

Vielen Dank für die Antwort :) –

0

Yon kann es anders machen, wenn Sie zwei verschiedene Text haben, um zu färben und später zu einem zu kombinieren;

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

übergeben Sie die Zeichenfolge in die Methode und verwenden Sie sie wo Sie möchten.

textview.settext(getColoredString("your text1")+getColoredString("your text2)); 
Verwandte Themen