用xml代码中的不同彩色文本的文本视图

Hay*_*yan 11 android text colors textview

我需要我textview有不同颜色的文字.我还需要从xml代码中执行此操作,而不是从java代码执行此操作.有没有人知道这样做的方法?谢谢

例如,我有句"这是红色的".我需要单词为绿色,单词red为红色.

and*_*qq6 14

将您的文本引用到string.xml并使用html字体标记,通过使用这种方式,您也可以更改每个字母颜色.

只需在java中为该字符串添加:

  TextView tv=(TextView)findViewById(R.id.tv);

  tv.setText(Html.fromHtml(getString(R.string.any_text)));
Run Code Online (Sandbox Code Playgroud)

在string.xml中:

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

]]> 
  </string>
Run Code Online (Sandbox Code Playgroud)

希望能帮助你


小智 12

有三种方法可以更改textview中某些文本的颜色.

  1. 通过strings.xml文件输入(res> values),使用tag(<![CDATA[<p>This is green <font color='hexvalue of red'>and this is red</font>.</p> ]]>)然后将java代码中的textview声明为myTextView.setText(Html.fromHtml(getString(R.string.myText));

  2. 通过java代码,使用HTML标记 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. 通过Spannable使用java代码的文本.

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

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

    myTextView.setText(span);

如果还有其他方法可以做到,那我就不知道了.希望这可以帮助


小智 -5

<TextView
    android:id="@+id/yourUniqueTextViewID"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World"
    android:textColor="@color/RED" />
Run Code Online (Sandbox Code Playgroud)

其中“RED”是一个命名常量,您必须在 xml 文件的 res/values/ 下定义。通常我创建“colors.xml”。

或者查看以下内容以获取一组好的预定义颜色:Android 颜色 xml 资源文件中的 Web 颜色