问题标签 [spanned]
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.
android - 在edittext中的选定文本上应用两个跨度后,最后一个字符不跨度
这个问题很烦人,所以我将一点一点地追踪它,以便您完全理解它:-
首先,我选择编辑文本中的最后一个单词,如下所示:-
到目前为止如此简单,然后我通过单击按钮(设置粗体跨度)使文本变为粗体,如下所示:-
下划线只是软键盘中的默认文本更正。然后我重新选择文本:-
然后,当我以相同的方式使其斜体(通过按下按钮设置斜体跨度)时,我得到了:-
最后一个字符从粗体中分离出来。这只发生在这种特定情况下,当我选择单词并且单词位于编辑文本的末尾时。
我还发现,当为每个字符设置跨度时,如果整个单词没有发生(粗体和斜体),则会出现此问题:-
但是,如果没有发生整个单词的问题:-
但当然,用户可以为 char 设置跨度,因此问题仍然存在,否则如果在编辑文本末尾未选择该单词,则不会出现问题。
android - 如何使用 Intent 传递跨区数据类型的数据
我正在将一些数据从一项活动传递到另一项活动。所有的数据都通过了,但是有一个数据类型为 Spanned 的数据根本不起作用。当我在第一个活动中显示它时,它可以工作,但是当我在另一个活动中显示它时,它甚至没有出现。
我像这样从json中获取数据
从我的适配器我发送了这样的数据
在其他活动中,我收到了这样的数据
我需要一些人来找到错误。:) 帮帮我
android - 如果在 EditText 中的跨区文本之前添加了一些文本,如何自动更改跨区位置?
正在创建一个应用程序,其中 edittext 将样式范围添加到文本的某些位置
我的问题是,如果用户添加,将删除跨越文本样式之前的一些文本或空白,如何避免这种情况?
在我的情况下我需要使用哪种类型?
java - 我有一个带有一些格式的跨区文本。如何根据该格式将其转换为字符串?
我如何在正文中打印这个TextView
android - 使用 SpannableStringBuilder 上标
我正在制作一个数学工具,但我在它的图形表示上遇到了一些麻烦。
我正在尝试上标一些字符串,而我使用的方法是
它工作正常并输出 B*A^X=Y 之类的文本(带有上标 x),但是当我在字符串 textEXS 中添加多个字母时,一切都下降到一行并且上标丢失了。
android - 为什么我的 spannable 没有显示?
背景
我正在尝试基于我找到的 UnderDotSpan 类(此处)使用简单SpannableString
的 on a 。TextView
原始的 UnderDotSpan 只是在文本本身下方放置一个特定大小和颜色的点(不重叠)。我正在尝试的是首先正常使用它,然后使用自定义的可绘制对象而不是点。
问题
与正常的跨度使用相反,这个只是没有显示任何内容。连文字都没有。
以下是正常跨度的完成方式:
它会在 TextView 中显示一个绿色的“1”。
但是当我尝试下一个 spannable 时,它(整个 TextView 内容:文本和点)根本不显示:
奇怪的是,在我使用的一个项目中,它在 RecyclerView 中运行良好,而在另一个项目中却不行。
这是 UnderDotSpan 的代码:
请注意,TextView 没有任何特殊属性,但无论如何我都会显示它:
我试过的
我尝试从其他 span 类进行扩展,还尝试以其他方式将文本设置为 TextView。
我还尝试了基于 UnderDotSpan 类的其他跨度类。例子:
在调试时,我发现该draw
函数甚至没有被调用,而getSize
被调用(并返回 >0 值)。
问题
为什么跨度不能显示在 TextView 上?
我使用它的方式有什么问题?
我怎样才能修复它,并使用这个跨度?
它怎么可能在其他更复杂的情况下起作用?