2015-11-18 10 views
8

मेरे पास मेरे आवेदन पर सरल टेक्स्ट व्यू कंट्रोलर है।
इस पाठ पर देखें मैं टेक्स्ट "123456789" सेट करता हूं - टेक्स्ट रंग काला है।टेक्स्ट व्यू के हिस्से का टेक्स्ट रंग कैसे बदलें?

मैं चाहता हूं कि तीन अंतिम अंक (78 9) लाल टेक्स्ट रंग के साथ दिखाए जाएंगे।

वहाँ दो TextView का उपयोग किए बिना यह करने के लिए किसी भी सरल तरीका है को नियंत्रित करता है
(एक में शामिल होंगे "123456" काले रंग में और दूसरा "789" में शामिल होंगे लाल रंग में)

उत्तर

11

इस प्रयास करें:

एक HTML रूप

सेट TextViewSpannableTextView

String text = "<font color='black'>123456</font><font color='red'>789</font>"; 
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE); 
+0

Html.fromHtml (पाठ) हटाई गई है, और Html.fromHtml (स्ट्रिंग, पूर्णांक) एपीआई स्तर 24 .. –

6

आप SpannableString उपयोग कर सकते हैं एक है TextView में स्टाइल स्ट्रिंग के लिए शानदार तरीका।

Demo

SO Post

4

का उपयोग कर आप उपयोग कर सकते हैं

myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>); 
0

आप अपने जावा वर्ग में HTML बैनर का उपयोग कर सकते हैं या तो: उदाहरण:

textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>")); 

या अपने एक्सएमएल फ़ाइल में CDATA प्रारूप का उपयोग करें: उदाहरण:

<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string> 

मुझे आशा है कि आप मदद की;)

+1

से उपलब्ध है मैं जानता हूँ कि बहुत से दौड़ है उत्तर पोस्ट करना .. लेकिन उत्तर सबमिट करने से पहले सावधान रहें। – Amy

+0

क्षमा करें मैं अब अपने फोन पर हूं और मैं इसे HTML स्क्रिप्ट दिखाने के लिए प्रबंधित नहीं कर सकता हूं, यह बस desapears: / –

1

आप इस विधि का उपयोग कर सकते हैं

public static final Spannable getColoredString(Context context, CharSequence text, int color) { 
     Spannable spannable = new SpannableString(text); 
     spannable.setSpan(new ForegroundColorSpan(color), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
     return spannable; 
    } 

फिर बाद में आप फोन का उपयोग करना है

textview.append(getColoredString(this, "Hi!", ContextCompact.getColor(this, R.color.red))); 
textview.append(getColoredString(this, "User", ContextCompact.getColor(this, R.color.green))); 
संबंधित मुद्दे