Text view with different colored texts in xml code

后端 未结 4 1667
情歌与酒
情歌与酒 2020-12-16 16:41

I need my textview to have different colored texts. Also I need to do this from xml code, non from java code. Is there anyone who knows some way fo

相关标签:
4条回答
  • 2020-12-16 17:05

    There are three ways to change the color of some text inside a textview.

    1. through strings.xml file in (res>values), using the tag (<![CDATA[<p>This is green <font color='hexvalue of red'>and this is red</font>.</p> ]]>) and then declaring the textview in java code as myTextView.setText(Html.fromHtml(getString(R.string.myText));

    2. through java code, using the HTML tag String text = "<font color='hexvalue of green'>This is green</font> <font color='hexvalue of red'>and this is red</font>."; myTextView.setText(Html.fromHtml((text));

    3. through Spannable text using java code.

      Spannable span = new SpannableString("My String");

      span.setSpan(new ForegroundColorSpan(Color.RED), start_position, end_position,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

      myTextView.setText(span);

    If there are other ways to do it then I'm not aware of them. Hope this helps

    0 讨论(0)
  • 2020-12-16 17:09

    Refer your text to string.xml and using html font tag , by using that way you can change each letter color also .

    just add this in java for that string:

      TextView tv=(TextView)findViewById(R.id.tv);
    
      tv.setText(Html.fromHtml(getString(R.string.any_text)));
    

    and

    In string.xml:

     <string name="any_text">
     <![CDATA[ <b><font color=#ff0000>write</b> your <b><font color=#0000ff>text</b> here .
    
    ]]> 
      </string>
    

    hope help you

    0 讨论(0)
  • 2020-12-16 17:10

    In Java class define TextView like this:

    TextView tv = (TextView) findViewById(R.id.text1);
    String text = "<font color=#cc0029>write any thing here</font> "+
                  "<font color=#ffcc00>write any thing here 2</font>";
    tv.setText(Html.fromHtml(text));
    
    0 讨论(0)
  • 2020-12-16 17:28
    <TextView
        android:id="@+id/yourUniqueTextViewID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World"
        android:textColor="@color/RED" />
    

    Where "RED" is a named constant you have to define under res/values/ in an xml file. Typically i create "colors.xml".

    Or see this for a good set of predefined colors: Web colors in an Android color xml resource file

    0 讨论(0)
提交回复
热议问题