您好我正在开发演示应用程序,我需要在字符串中设置所选文本的黄色背景颜色。
例如:
String str = "Na Adam ne ne yere Hawa: Na Adam xwoo xbabarima";
我想设置除Adam
以外的所有字词的白色背景颜色。我需要将Adam
字的背景颜色设置为黄色。
提前致谢。
答案 0 :(得分:3)
使用以下代码:
String str = "Na Adam ne ne yere Hawa: Na Adam xwoo xbabarima";
String stringToColor = "Adam";
int ofe = str.indexOf(stringToColor,0);
Spannable WordtoSpan = new SpannableString(str);
for(int ofs=0;ofs<str.length() && ofe!=-1;ofs=ofe+1)
{
ofe = str.indexOf(stringToColor,ofs);
if(ofe == -1)
break;
else
{
WordtoSpan.setSpan(new BackgroundColorSpan(Color.YELLOW), ofe, ofe+stringToColor.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(WordtoSpan, TextView.BufferType.SPANNABLE);
}
}
输出:
答案 1 :(得分:2)
你可以使用一些html:
String adam = "<font color=#FFFF00>Adam</font>";
String str = "Na Adam ne ne yere Hawa: Na Adam xwoo xbabarima";
String newString = str.replaceAll("Adam", adam);
t.setText(Html.fromHtml(newString));
答案 2 :(得分:0)
你应该查看JEditorPane类,它允许你轻松地做这些事情:
JEditorPane editorPane = new JEditorPane("text/html","<font color=\"red\">this will be red</font><font color=\"blue\">, and this will be blue</font>");
答案 3 :(得分:0)
看看这个question here on setting the color of a TextView.
您可以使用
textView1.setTextColor(getResources().getColor(R.color.mycolor))
或
textview1.setBackgroundColor(Color.parseColor("#ffffff"));
或
textview1.setBackgroundColor(Color.RED);
或
textView1.setBackgroundColor(R.color.black);
答案 4 :(得分:0)
您可以将文本格式化为HTML格式,例如:
String htmlText = "<font color=#000000>Na </font> <font color=#00FF00>Adam </font> <font color=#000000>ne ne yere Hawa: Na </font> <font color=#00FF00>Adam </font> <font color=#000000>xwoo xbabarima</font>"
tView.setText(Html.fromHtml(htmlText))
为了使其更具动态性,您可以添加一些正则表达式功能,以识别应该具有不同颜色的ur关键字并创建HTML文本
答案 5 :(得分:0)
此格式适用于JLabel:
JLabel label = new JLabel("<html>Na <font bgcolor='yellow'>Adam</font> ne ne yere Hawa: Na <font bgcolor='yellow'>Adam</font> xwoo xbabarima</html>");