问题标签 [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.
android - 为什么将 ImageSpan 添加到 Snackbar 的操作文本在 Android 设备 SDK 级别 26 上有效,但在 SDK 级别 25 上无效?
我想显示Snackbar
并使用图像而不是文本进行操作。
我使用以下代码:
drawable_star
作为矢量图形资产,但png
.
在 26 级及以上的 Android 设备上,这会产生:
正如预期的那样,而在设备 lvl 25 上,图像不可见:
有人知道原因以及是否有解决方法吗?
PS:你可以在这里查看我的测试项目:https ://github.com/fmweigl/SpannableTest
android - spannablestring 不加粗文本
我有以下功能 -
以及以下共享视图模型 -
我在其他片段中使用字符串值 -
该字符串确实是正确的。
我面临的问题是,由于某种原因,spannablestring 不会改变颜色并且不会使文本变为粗体,即使这段代码与我的应用程序中的另一段代码重复。
我错过了什么?
android - TextView的append()方法如何调用SpannableStringBuilder的replace()方法
我有这个自定义SpannableStringBuilder
类:
并且Editable.Factory
需要将 aTextView
转换为Editable
所需的a SpannableStringBuilder
:
然后附加TextView
到Editable.Factory
:
上面的代码基本上所做的是,每当一个新的字符串附加到 中时,都会在中调用TextView
该方法并设置其所有参数。我不明白方法的方法是如何调用的方法以及它的参数是如何设置的。我搜索了文档,但没有找到任何解释。任何帮助,请。谢谢。replace()
ExpressionBuilder
append()
TextView
replace()
SpannableStringBuilder
java - 在循环中对可变文本使用 spannable
所以我的应用程序应该将用户的输入与应用程序提供的随机引用进行比较,我想将正确的单词用绿色着色,将错误的单词用红色着色。
问题是我不知道如何Spannable
循环使用,尤其是文本总是在变化。
这是代码:
这就是我尝试过的:
但是生成的文本没有着色,并且它们没有空格地粘合在一起。
android - SpannableStringBuilder 将字符串部分设置为粗体不起作用
我正在使用 SpannableStringBuilder 设置部分带有粗体样式的字符串,但是它不起作用,我不确定我做错了什么。
我遵循了这个 SO 示例:
android - atal 异常:java.lang.IndexOutOfBoundsException setSpan (4 ... 4) 结束于长度 3 仅发生在 Nexus 5X 设备上
我现在在我的 crashlytics 中看到这个崩溃有一段时间了,但我找不到修复它的方法。它仅发生在装有 Android 6.0.1 的 Nexus 5X 设备上。
崩溃日志:
我无法重现崩溃。既不使用物理设备,也不使用模拟器。它似乎与 TextChanged 侦听器有关。当它被执行时它会崩溃。
代码示例:
android - 当我设置 ImageSpan 和 ellipsize 我想看到...和 ImageSpan 全部显示
我有一个TextView
并且我想实现这个椭圆效果:
这是我的 XML 布局:</p>
我的代码:
当前效果
这是我现在得到的:
我要TextView优先显示ImageSpan,计算完Text宽度
android - 如何使我的自定义 MetricAffectigSpan 无效?
我有一个MetricAffectingSpan
(覆盖updateDrawState()
,updateMeasureState()
方法)的自定义可变跨度实现。 当我更改跨度的属性时invalidate()
,我尝试这样做。requestLayout()
但是TextView的invalidate()
,requestLayout()
方法调用不会触发Span的updateDrawState,updateMeasureState方法。
和我的TextviewsetText(text, BufferType.EDITABLE)
如何解决?
请告诉我当我更改跨度的属性而不重做setSpan()
.