在strings.xml中更改特定颜色的特定文本的有效方法?

时间:2016-12-31 08:57:06

标签: android xml fonts

我为Android技术词设计了一个Dictionary App ..几乎完成了......现在我需要设置视图样式..因此,我希望为关键字代码提供颜色代码..在我的String.xml中,我 99+ string classes ..

我曾经改变字体颜色,就像下面提到的Code ..这个代码有用

  <string name="xml_code">
    <![CDATA[<b><font color=#000080>&lt;LinearLayout</b><br><br>
            \t\t <b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_width=</b><b><font color=#008000>\"match_parent\"</b><br><br>
            \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_height=</b>><b><font color=#008000>\"match_parent\"</b><br><br>
            \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:orientation=</b><b><font color=#008000>\"vertical\"</b>&gt;<br><br>
    <b><font color=#000080>&lt;TextView</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_width=</b><b><font color=#008000>\"match_parent\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_height=</b><b><font color=#008000>\"wrap_content\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:text=</b><b><font color=#008000>\"Hello\"</b>/&gt;<br><br>
    <b><font color=#000080>&lt;ImageView</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_width=</b><b><font color=#008000>\"match_parent\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_height=</b><b><font color=#008000>\"wrap_content\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:src=</b><b><font color=#008000>\"@drawable/mountain\"</b>/&gt;<br><br>
    <b><font color=#000080>&lt;Button</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_width=</b><b><font color=#008000>\"match_parent\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:layout_height=</b><b><font color=#008000>\"wrap_content\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:text=</b><b><font color=#008000>\"Press me\"</b><br><br>
        \t\t<b><font color=#660E7A>android</b><b><font color=#0000FF>:onClick=</b><b><font color=#008000>\"doSomething\"</b>/&gt;<br><br>
    <b><font color=#000080>&lt;/LinearLayout&gt;</b>]]>
    </string>

在整个字符串中,

if word is android,it should be violet
if word is layout:width/etc.. ,it should blue
if word is values,it should be green..

对于我上面提到的代码,输出是 enter image description here

我需要输出像截图..它可以从上面的代码中工作。任何人都可以说如何 minimize the code to change the font Color ..因为我需要更改99+字符串的字体颜色classes..please给出一种最简单的方法来改变我的字体颜色。如果你无法理解我的问题,请问我..

1 个答案:

答案 0 :(得分:0)

希望它有效..

SpannableString styledString = "Ajay";
styledString.setSpan(new ForegroundColorSpan(Color.GREEN), 0, 1, 0);
  // Give the styled string to a TextView
  TextView textView = new TextView(this);
  textView.setMovementMethod(LinkMovementMethod.getInstance());
  textView.setText(styledString);