jjzjj

Spannable

全部标签

Android:如何结合 Spannable.setSpan 和 String.format?

我正在设置Span到文本的一部分。Span本身运行良好。但是,文本是由String.format创建的来自Resources我不知道start和end我将Span设置为文本中的一部分。我尝试在strings.xml中使用自定义HTML标签,但要么getText或getString删除它们。我可以使用这样的东西getString(R.string.text,""+arg+""),然后Html.fromHtml(),因为arg正是我要设置Span的地方。我看到了thisapproach使用格式为"normaltext##spanhere##normaltext"的文本.它解析字符串并删除标

android - 从 spannable CharSequence 中删除字符

我在字符串中有以下输入数据:“你好#this#是#sample#文本。”它为#个字符之间的所有元素设置背景色。这是我到目前为止得到的:publicstaticCharSequencecolorBackground(CharSequencetext){Patternpattern=Pattern.compile("#(.*?)#");Spannablespannable=newSpannableString(text);if(pattern!=null){Matchermatcher=pattern.matcher(text);while(matcher.find()){intstart

android - 如何使用支持库字体功能作为 TextView 内容的一部分(使用 spannable)?

背景支持库(文档here)允许您使用“res/font”文件夹中的TTF字体文件,无论是在XML中:app:fontFamily="@font/lato_black"或通过代码:valtypeface=ResourcesCompat.getFont(context,R.font.lato_black)问题虽然我知道可以使用spannable技术在部分TextView内容中设置不同的样式(例如粗体、斜体、颜色等...),但我发现设置不同字体的唯一方法是,是通过使用操作系统的内置字体,如图所示here,但我看不到加载字体的新方法。我尝试过的我试图找到一种在两者之间进行转换的方法,但没有成功

具有行间距的 Android spannable 字符串

我有一个标签云,其中标签有背景色。不幸的是,我无法获得合适的行间距。假设这是文本云:tag1tag2tag3tagtext4tagtext5这是TextView的样式:@color/gray_valuesans-serif-condensedBackgroundColorSpan用于为标签设置蓝色背景色。然而,线条之间没有空格,即两条线条的背景颜色没有分开。当我为TextView设置行间距时,例如到12sp,它增加了行间距,但使用标签的背景颜色而不是textview背景颜色来建立行间距。知道如何使用TextView背景颜色获得行间距吗?更新使用这个solution作为指导,我想出了这种

android - 为什么我的 spannable 没有显示?

背景我正在尝试在TextView上使用一个简单的SpannableString,基于我发现的UnderDotSpan类(here)。原始的UnderDotSpan只是在文本本身下方放置一个特定大小和颜色的点(不重叠)。我正在尝试的是首先正常使用它,然后使用自定义的可绘制对象而不是点。问题与正常的span用法相反,这个只是不显示任何内容。甚至没有文字。这是正常Spanned的完成方式:valtext="1"valtimeSpannable=SpannableString(text)timeSpannable.setSpan(ForegroundColorSpan(0xff00ff00.t

android - 用退格键删除整个 Spannable

我有一个聊天应用程序,可以在文本中添加表情符号。EditText字段有问题。表情符号图像出现,但如果我在普通键盘上按下退格按钮,我要更改为表情符号图片的文本就会出现,我必须删除几个字符,直到图片消失。我正在使用Spannable来执行此操作。如果用户按一次退格键,我希望整个笑脸消失。这里是我使用的代码://Thisisinthekeyclickedlistener{...smilie="(angel)";break;...intcursorPosition=content.getSelectionStart();content.getText().insert(cursorPositi

支持 RTL 语言的 Android Justify spannable Textview

我需要在android中创建一个自定义的text-view,首先它应该是justified,然后它应该支持spans和尽管它应该支持RTL(从右到左)语言,例如:波斯语(波斯语),...我在这个问题上工作了一个星期!但事实上我陷入了糟糕的境地,因为没有可用的库支持所有这些条件(Justify、Spanable、RTL)你有什么想法吗?!虽然我检查了很多库,例如:Link 最佳答案 此代码适用于我的rtltextView:if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){textView

android - 向 Spannable 添加填充/边距

我正在使用BackgroundColorSpan来自定义TextView的各个部分。这是我的代码:Strings="9.5Excellent!";s.setSpan(newBackgroundColorSpan(darkBlue,0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);s.setSpan(newBackgroundColorSpan(darkBlue,3,14,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);这给了我以下结果:这就是我要实现的目标:如您所见,我正在尝试为“9.5”和“优秀!”添加填充。字符串,但到目前为止我

android - 如何将 SpannedString 转换为 Spannable

您好,我在TextView中设置了一些文本。TextViewtweet=(TextView)vi.findViewById(R.id.text);tweet.setText(Html.fromHtml(sb.toString()));然后我需要将TextView的文本转换为Spannble。所以我这样做了:Spannables=(Spannable)tweet.getText();我需要将它转换为Spannable因为我将TextView传递给了一个函数:privatevoidstripUnderlines(TextViewtextView){Spannables=(Spannable

android - 如何合并一些可跨越的对象?

我把一个spannable对象分成3个部分,做不同的操作,然后我需要合并它们。Spannablestr=editText.getText();SpannableselectionSpannable=newSpannableStringBuilder(str,selectionStart,selectionEnd);SpannableendOfModifiedSpannable=newSpannableStringBuilder(str,selectionEnd,editText.getText().length());SpannablebeginningOfModifiedSpanna