java - 如何更改文本之间提到的字符串的文本颜色
问题描述
我有一个文本视图。在 Textview 上设置文本并在文本之间包含一个字符串,如下面的代码。
如何在 Android 中更改字符串的颜色和文本样式。
tv.setText("some text"+String+"some text")
解决方案
String yourString = "color me red";
SpannableString spannableString = new SpannableString(yourString);
ForegroundColorSpan red = new ForegroundColorSpan(Color.RED);
spannableString.setSpan(red, 9, 11, Spanned,SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(spannableString);
上面的代码会将字符串中“红色”的颜色更改为 ForegroundColorSpan 中定义的红色。您必须定义跨度的开始和结束位置,如字符串数组上的第 9 到 11 项。
推荐阅读
- google-sheets - 比较两个选项卡的标题,复制下面的列,保持空白列
- typescript - 定义具有动态数量属性的对象的方法是什么?
- python - 通过具有多个相互依赖模型的双反向过滤器访问数据
- javascript - html 中的 objectHTMLDivElement 错误。将一个子元素附加到另一个元素中。但是显示错误
- python - 如何从 Pandas 的 DataFrame 中删除 [ a list of ] 行?
- python-3.x - 如何从必须获得最大数量的唯一元素的 M 列表池中选择最佳 N 列表?
- laravel - 如何将一张表中的多个库与laravel中的另一张表连接起来
- javascript - Redux:动作已成功调度,但未创建状态
- javascript - 如何通过 node.js 中 req.params.id 的值来区分 mongoDB 查询?
- python - 将多索引数据帧的索引值提取为python中的简单列表