是否可以为TextView中的不同文本设置多个样式?
例如,我将文本设置如下:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Run Code Online (Sandbox Code Playgroud)
是否可以为每个文本元素设置不同的样式?例如,line1粗体,word1斜体等.
开发人员指南的常见任务和Android中的操作方法包括选择,突出显示或设置部分文本样式:
Run Code Online (Sandbox Code Playgroud)// Get our EditText object. EditText vw = (EditText)findViewById(R.id.text); // Set the EditText's text. vw.setText("Italic, highlighted, bold."); // If this were just a TextView, we could do: // vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); // to force it to use Spannable storage so styles can be attached. // Or we could specify that in the XML. // …
当我从服务中获取html文本时,我需要在文本View上显示文本.
Managing Safely <b> End Of Course Theory Test </b> <span style="color:red;"> part1 </span>
Run Code Online (Sandbox Code Playgroud)
我正在设置这个文本
tv.settext(Html.fromHTML("Managing Safely <b> End Of Course Theory Test </b> <span style="color:red;"> part1 </span>"));
Run Code Online (Sandbox Code Playgroud)
它显示粗体但不显示红色文本.
我在android中显示文本,如下所示:
TextView textview p new TextView(this);
textview.setMovementMethod(new ScrollingMethod());
textview.setText("Today: 2\nTomorrow: 8\nNext two weeks: 45");
textview.setTextSize(16);
textview.setTypeFace(null, TypeFace.BOLD);
setContentView(textview);
Run Code Online (Sandbox Code Playgroud)
我想从文本绿色中取出2,8和45,而其余部分保持黑色.我知道如何为所有文本而不是单个字符执行此操作.有人可以帮忙吗?我查看了其他类似的问题,但似乎没有像我在这里那样设置textview.