问题标签 [spannablestring]
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.
ios - 什么是Objective-C中Android的“Spannable”等价物
我在一个iOS
应该能够突出显示文本并使其可点击的应用程序上。
我在 iOS 中阅读了有关NSAttributedString的信息,但它仍然比Android 中的Spannable更复杂。
如果没有,有没有其他Objective c
方法可以做到这一点;我应该怎么做NSAttributedString
才能逐字突出显示段落,以及如何使我的文本可点击。
更新:
我到底想要什么,每个单词都应该是可点击的,并且可以 在一个段落中突出显示为一个单词。
android - ReplacementSpan 的 draw() 方法没有被调用
我像这样在字符串中设置背景:
但我想在这个背景中增加左右填充,所以我创建了自定义跨度
我通过以下方式使用我的跨度:
不幸的是,我的 draw() 方法没有被调用。getSize() 被正确调用。
android - SpannableString 第一次改变颜色,但重用时不改变
我正在尝试制作一款游戏来帮助孩子们学习数学。我为代码编号着色,以便他们可以遵循逻辑。我还使用 textView.append() 构建一个长字符串以放入活动中。
因为我在指令中重复使用相同的数字/符号,所以我想要一种轻松回收 SpannableStrings 的方法,但似乎我所做的更改第一次正确应用,但此后有时有效,有时部分有效(例如正确的大小/alignment,但颜色错误),或者根本不工作。我得到了这一切的混合。我似乎在 Stackoverflow 或 Google 的其他任何地方都找不到遇到类似问题的人。
这是我的代码(简化):
(请注意,我没有提供 XX、YY 或 ZZ 的代码……这有点复杂,因为我必须从 sharedpreference 设置中获取数据,但这些问题与其他数学符号基本相同/运营商)。
这是生成的屏幕截图:
也许我的问题最好的例子是+(加号)。起初,它是预期的黑色,但只有 4 个字符后(包括空格)它是错误的颜色(蓝色,它可能来自之前的 SpannableString),尽管对齐和大小正确。在下一个彩色字符串中,它按预期显示(黑色、居中、大),但之后在随后的“彩色”字符串(小、左对齐、绿色,如段落文本)中根本没有格式化。使用的代码看起来与上面完全相同(即 math1.append(PLUS);),但输出与我预期的不一致。
最后一条信息:在全局声明我的变量之前,我每次都使用相同的 makeBlack() 和 math1.append() 函数在本地声明它们,并且效果很好。在全局设置我的变量后,我只会得到这种奇怪的行为。
关于这里出了什么问题的任何建议?
android - SpannableString.setSpan 不工作?
我正在尝试为
str
是 的一个实例StringBuilder
。如果为真,我希望最后一个字符为miscTextView
蓝色isBlue
,否则为粉红色,而其余文本保持黑色。
但事实证明,无论哪种情况,最后一个字符都是灰色的,这让我很困惑。我做错了什么?
编辑:我已经检查了颜色资源 xml。Intellij 在 xml 代码行的左侧显示颜色。
android - 如何在 TexView 上为 SpannableStrings 替换多个字符串?
我正在寻找一种在 TextView 上查找不同字符串并将其替换为样式化 SpannableStrings 的方法。
我在How to use SpannableString with Regex in android中找到了这段代码?对单个字符串执行此操作:
这很好用,但我不确定如何调整它以使用多个字符串。我尝试使用 SpannableStringBuilder.replace 重新实现它,这样我就可以多次运行该方法,同时保持以前的样式但失败了。
有任何想法吗?
谢谢!
java - 对齐 2 个文本,1 个正常,1 个相反
我用一个按钮制作了一个android应用程序,其中总共有 4 个文本,我想对齐前 2 个。一个位于底部文本的最左侧,另一个位于底部文本的右侧。
所以从这里:
setText(item.title + " " + item.roomId + "\n" + item.teacher + " "
+ item.classes);
对此:
setText(declare here a spannable);
我想我应该使用Spannable,我已经尝试了一些东西,Alignment.ALIGN_NORMAL
但Alignment.ALIGN_OPPOSITE
我认为应该首先计算底部文本的长度,然后进行对齐。(我在这里找到了一个很好的例子,但它在我的设置中不起作用)。
我希望有人能给我指出一个好的方向。
编辑:
我不能(我认为)使用RelativeLayout
或者LinearLayout
是我在不同的类(ScheduleItemView.java
)中扩展按钮的原因:
我尝试在protected void onLayout
( ScheduleItemsLayout.java
) 中执行此操作:
但这行不通。我不确定是否应该使用new RelativeLayout(this)
.
Spannable
在这种情况下使用更好吗?
项目的源代码可以在这里下载(可以在 Eclipse 中导入)
android - 如何在Android中将样式文本分成页面?
我有一个很长的文本,我想分成多页。我还需要一种方法来设置这个文本的样式。
android - BackgroundColorSpan 始终为黄色
由于某种原因,颜色总是黄色。我试过两种绿色:
0xBFFFC6
和0x99FF99
我觉得我在某个地方弄乱了颜色的顺序。
android - 将 ImageSpan 对齐到 TextView 的顶部
目前,我希望在文本之间添加一个图像并将其对齐到 TextView 的顶部。
像这样的东西:
我能找到的唯一垂直对齐方式是基线(似乎将它放在文本中心的正下方)和底部对齐。
如果我使用 ALIGN_BASELINE 会发生什么:
有没有办法让它与顶部对齐?
我当前的代码:
然后
删除 ImageSpan.ALIGN_BASELINE 将其设置为与底部对齐,这也不是我的预期结果。
--- 谢谢用户 Lalit Poptani,我尝试应用您的答案---- 应用此之后,发生的情况是整个 textview 似乎有额外的边距顶部。
在应用跨度之前:
应用 SuperscriptSpanAdjuster 后
我的代码:
android - 如何限制 spannablestring 的行高但保持行的其余部分
我有一个TextView
里面有一个SpannableString
突出搜索词的。像这样:
可以看出我正在使用android:lineSpacingExtra
给线条一个很好的间距,但是它导致SpannableString
背景太高。我想保持线条之间的间距,但要SpannableString
更短。
这怎么可能?