我的textview有一个很长的文本行,如下所示:
$你好,我所有的名字都是福特
我是一名电子工程师,所以等等等等
还有别的什么
所以其他文本......
$和这是第一行的另一条线
以及其他正常文本
我的问题是我怎样才能得到第一个带有$符号的线条,并将一些效果设置为粗体和红色等特定线条......而不是其他线条......
任何想法??! 谢谢你的帮助!
编辑:
请注意我的textview文本是动态的,我不能为某些特定句子编写代码。我想将一些代码作为模板写入每一行,例如以$开头,粗体或类似的东西。
而且我想要$ symbole本身;在此过程之后,我的文本视图中没有显示!对此有何想法?
答案 0 :(得分:2)
如果你已经在String上有文本,你可以在String值上使用split函数,然后用html格式显示你的行,这使你能够操作大小和格式这里是一个样本:
String stringValue="$your first line\n $your second line";
String[] Splited=stringValue.split("$");
//first line is in the Splited[0] and second line is in the Splited[1]
textview.setText(Html.fromHtml("<h2>Splited[0]</h2><br><p>Spl_j[Z B1]</p>"));;
更新: 您的模板可能如下所示:
String[] Splited=stringValue.split("\n");
String msg="";
for(int i=0;i<Splited.length;i++){
if(Splited[i].startsWith("$"))
msg=msg+"<b>"+Splited[i]+"</b>";
else
msg=msg+Splited[i];
}
textview.setText(Html.fromHtml(msg));
答案 1 :(得分:2)
你也可以这样做,使用搜索和替换
String yourValue="$your first line\n $your second line";
String regex = "(\$.*)\n";
String formattedValue = yourValue.replaceAll(regex, "<b>$1</b>\n");
textview.setText(Html.fromHtml(formattedValue));