草庐IT

spannableString

全部标签

android - 来自 SpannableStringInternal 的 StringIndexOutOfBoundsException

我不断收到来自市场的以下错误报告:java.lang.StringIndexOutOfBoundsException:length=51;regionStart=37;regionLength=-15atjava.lang.String.startEndAndLength(String.java:593)atjava.lang.String.getChars(String.java:902)atandroid.text.SpannableStringInternal.getChars(SpannableStringInternal.java:70)atandroid.text.Text

android - 可跨文本在对话框 fragment 中不起作用

我在我的Dialogfragment中添加了TextView并且我在此TextView中动态显示Spannable数据。但它不会对文本应用Spannable效果。这是我生成三个Spannable字符串并添加到TextView中的代码。TextViewtextViewTicketSummary=(TextView)dialog.findViewById(R.id.ticketSummaryTextView);SpannableStringBuildersummary=newSpannableStringBuilder();SpannableStringVehicleCaptureSpan

android - 替代 Android 中的 ReplacementSpan

我有一个应用程序可以分页大文本并为每个单词或句子设置多个跨度。我正在使用ReplacementSpan为每个单词绘制背景。我不能使用BackgroundSpan,因为它太简单而且无法让我控制Canvas。由于ReplacementSpan扩展了影响文本布局的MetricAffectingSpan,因此完全破坏了我的分页。我正在使用StaticLayout来计算每个页面的文本,而StaticLayout不允许跨越,因此它可以先验地计算跨越大小的影响。ReplacementSpan有替代品吗?如何在不影响文本本身的大小和布局的情况下绘制我想要的背景?这是我的replacementspan的

android - 带有 Span 的 Linkify.addLinks 不起作用

我有带自动链接的TextView,但每当我将自定义跨度(ClickableSpan)添加到TextView时,它自动链接到网址和手机号码都不起作用。有什么简单的方法可以解决这个问题。样式已应用,但点击不起作用。 最佳答案 https://stackoverflow.com/a/39494610/4639479我使用了这个答案并且工作正常publicstaticString[]extractLinks(Stringtext){Listlinks=newArrayList();Matcherm=Patterns.WEB_URL.matc

java - 如何在 Android 中动态更改文本大小

我想实现一个功能,EditText用户在输入文字时,可以按照设置的字体大小进行修改,比如Office的GoogleDocs,现在我找到了SpannableString的方法,但是看了一些例子似乎无法达到我的需求intindex=input.getSelectionEnd();SpannableStringspann=newSpannableString(show_input);AbsoluteSizeSpanword_size=newAbsoluteSizeSpan(18,true);spann.setSpan(word_size,0,1,Spanned.SPAN_EXCLUSIVE_

android - 如何在 Android 中使用 Canvas.drawText 绘制 Spanned String

我想将SpannedString绘制到Canvas。SpannableStringspannableString=newSpannableString("HelloWorld!");ForegroundColorSpanforegroundSpan=newForegroundColorSpan(Color.RED);BackgroundColorSpanbackgroundSpan=newBackgroundColorSpan(Color.YELLOW);spannableString.setSpan(foregroundSpan,1,8,Spannable.SPAN_EXCLUSIV

安卓开发 : How To Replace Part of an EditText with a Spannable

我正在尝试用span替换从getText()返回的Editable的一部分。我试过getText().replace()但那只适用于CharSequences。我尝试这样做的原因是这样我就可以一个接一个地突出显示EditText的部分(经过一小段延迟),而不是通过并突出显示整个EditText(对于大文件可能会很慢)。有人知道我将如何着手做这件事吗? 最佳答案 这个最小尺寸的例子使单词“first”变大了:publicclassSpanTestextendsActivity{@OverridepublicvoidonCreate(B

android - 在 TextView 中使用 SpannableStringBuilder 的段落间距

如问题所示,我正在开发一个TextView,它将使用SpannableStringBuilder显示格式化文本。它有多个段落,我想知道使用一些内置跨度设置段落间距的最简单(或至少最不复杂)的方法是什么。这可能吗?或者我需要为此构建一个自定义跨度类吗? 最佳答案 实现LineHeightSpan并覆盖chooseHeight方法,如下所示@OverridepublicvoidchooseHeight(CharSequencetext,intstart,intend,intspanstartv,intv,FontMetricsIntfm

android - SpannableString 中的 URLSpan

我在使用SpannableString时遵循这个例子:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/text/Link.html我正在尝试创建一个字符串,该字符串的URL格式为“R.string.text1”,后跟R.string.text2但R.string.text2(有10个字符):SpannableStringss=newSpannableString(getString(R.string.text1));ss.setSpan(newURLSpan(get

android - 在 Textview 中突出显示特定单词

我正在创建一个应用程序,我在其中搜索TextView中的特定单词。我有一个编辑文本、一个TextView和一个按钮,当我在编辑文本中输入任何单词并单击按钮时,它会给我整个文本文件中该行中单词的行位置和位置...我在TextView中附加了文本文件的包含...现在我的问题是我可以突出显示编辑文本输入的TextView中的所有单词。?如果我可以,请告诉我该怎么做..如果有人知道吗? 最佳答案 您也可以使用Spannable来完成此操作,这很方便,因为您知道单词的位置:SpannableStringres=newSpannableStri