问题标签 [spannablestringbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
90813 浏览

android - SpannableStringBuilder 创建具有多种字体/文本大小等的字符串示例?

我需要创建一个放置在 TextView 中的字符串,它将显示如下字符串:

第一部分不加粗 粗体 其余不加粗

所以我想知道如何使用它SpannableStringBuilder来做到这一点?

我可以使用三个 TextEdit 来完成此操作,但我想使用最佳解决方案。

0 投票
2 回答
6287 浏览

android - 如何让 SpannableStringBuilder 附加一个格式化字符串内的跨度?

背景

假设我使用 SpannableStringBuilder 将多个内容附加到其中,其中之一是我从 strings.xml 文件格式化的字符串,该文件内部有一个跨度:

问题

可悲的是,格式化这样的字符串会删除跨度本身,所以在我的例子中,不会有任何带有背景颜色的文本。

这发生在“getString”的行上。

我试过的

如果我只是单独附加跨度(没有“getString”),它工作正常。

我也尝试调查 Html.fromHtml,但它似乎不支持文本的背景颜色。

问题

是否可以格式化具有跨度但仍具有跨度的字符串?

更具体地说,输入是来自 strings.xml 文件的字符串 A,它只有一个占位符(没有特殊的 HTML 标记),另一个字符串 B 应该在运行时替换占位符。字符串 B 本身的部分文本应该有一个突出显示。

就我而言,突出显示的文本是要在字符串 B 中搜索的内容。

0 投票
1 回答
1427 浏览

android - Android M 及更低版本中的 LineHeightSpan

我想将多个跨度添加到具有可配置行空间的文本视图中。我使用 android 中定义的 LineHeightSpan 类。但似乎它在 Android M 和更低版本中的行为有所不同 这里是较低版本的 Android 的结果

在此处输入图像描述

这就是它在 Android M 中的样子 在此处输入图像描述

这是我在代码中的实现方式: 这是我对 LineHeightSpan 的实现:

以及我如何使用它:

我该如何解决这个问题?

0 投票
0 回答
568 浏览

android - 如何使用 Html.toHtml 保留字体大小并使用 Html.fromHtml 恢复它?

我显然对 Android 很陌生。谁能帮我?我有 EditText,其中有一个功能来设置颜色(文本的不同颜色)、字体大小(文本的不同字体大小)、字体系列。我已经使用 SpannableStringBuilder 实现了

并使用保存editText

在特定条件下,我想按原样检索 editText ,然后将其保存到 string ,这样做是

一切都按原样设置,但所有文本的字体大小设置相似。示例:我在edittext中设置的是

在此处输入图像描述

但我恢复后得到的是

在此处输入图像描述

当我尝试打印字符串时

Log.d("HTML = ",spannableString);

我得到了以下 HTML ....

提前致谢

0 投票
1 回答
1007 浏览

java - Android Editable 是抽象的;无法实例化

我正在创建一个EditText子类,我想制作一个可编辑的变量以传递给超类。

当我最初尝试

我得到了错误

“可编辑”是抽象的;无法实例化

在 Google 中搜索这个错误并没有返回任何有用的结果,所以现在我找到了答案,我在下面添加了这个问题的答案。

0 投票
2 回答
5028 浏览

java - SpannableStringBuilder 用正则表达式替换内容

我有以下代码,我将在其中标记大括号之间的内容SpannableString并删除大括号,但它给出了错误的结果。

输入:

输出: 在此处输入图像描述

0 投票
1 回答
724 浏览

android - SpannableStringBuilder.getSpans() 排序顺序在牛轧糖 7.0/7.1 上是错误的

以下代码适用于我在 2.3 和 6.0.1 之间尝试的所有内容,但在 7.0/Emulator 和 7.1.1/Nexus 6P 中失败

0 投票
1 回答
350 浏览

android - 什么是构建 SpannableStringBuilder 中的标志变量

我在谷歌文档中阅读了 flags 参数,但我找不到它到底在做什么。例如在下面的代码中:

如果您更改第 4 个参数并设置如下变量,则没有区别:Spanned.SPAN_INCLUSIVE_INCLUSIVE,Spanned.SPAN_INCLUSIVE_EXCLUSIVE,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE。

结果没有区别。

但是当运行这段代码时:

根据传递给 builder1.setSpan 的第四个参数,您会得到不同的结果

有人可以解释为什么会这样吗?

0 投票
1 回答
891 浏览

android - SpannableStringBuilder 不保留文本中设置的样式

我正在尝试使用SpannableStringBuilder构建包含不同样式的文本。但是添加更多字符串后样式会丢失。

下一次样式丢失时,Textview 以红色显示前两次“红色”,以绿色显示“绿色”,它们都是灰色的默认颜色。

我已经使用了 Spanned 界面中的不同选项,例如 SPAN_INCLUSIVE_EXCLUSIVE,但它似乎不起作用。 在此处输入图像描述

0 投票
5 回答
3129 浏览

android - Android Spannable 在回收站视图适配器中不起作用

我有一个回收站视图,想更改 textview 文本某些部分的颜色。

这是我的代码:

它不会改变颜色或文本大小。我究竟做错了什么??