Java Android富文本标记
我正在寻找一个库或使用优化的例子 向下标记以创建富文本 例如,要转向的对象: 1-*粗体*->粗体 2-斜体->斜体 长示例: 3-u Hello_*World*->HelloWorld 等等 我见过很多应用程序使用它,比如Discord、Whatsapp、SkypeJava Android富文本标记,java,android,text,formatting,Java,Android,Text,Formatting,我正在寻找一个库或使用优化的例子 向下标记以创建富文本 例如,要转向的对象: 1-*粗体*->粗体 2-斜体->斜体 长示例: 3-u Hello_*World*->HelloWorld 等等 我见过很多应用程序使用它,比如Discord、Whatsapp、Skype 我做过类似的事情,但我知道它没有经过优化,可能会导致运行时错误。您不需要任何额外的库 只需查看一下android.text.SpannableStringBuilder 这将允许您获得以下文本功能: 把它弄大一点 大胆的 下划线
我做过类似的事情,但我知道它没有经过优化,可能会导致运行时错误。您不需要任何额外的库 只需查看一下android.text.SpannableStringBuilder 这将允许您获得以下文本功能:
- 把它弄大一点
- 大胆的
- 下划线
- 斜体
- 突破
- 有色的
- 突出显示
- 上标
- 显示为下标
- 显示为链接
- 让它可以点击李>
String text = "This is an example with a Bold word...";
// Initialize a new SpannableStringBuilder instance
SpannableStringBuilder strb = new SpannableStringBuilder(text);
// Initialize a new StyleSpan to display bold text
StyleSpan bSpan = new StyleSpan(Typeface.BOLD);
// The index where to start applying the Bold Span
int idx = text.indexOf("Bold");
strb.setSpan(
bSpan, // Span to add
idx, // Start of the span
idx + 4, // End of the span
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
);
// Display the spannable text to yourTextView
yourTextView.setText(ssBuilder);
我认为你必须寻找支持减价的图书馆
看这个,你不需要图书馆来做这个。在查找库之前,请尝试找出Android SDK中本机可用的内容…@Anikta这是一个richeditor,而不是标记检测器。@Nirekin我知道这是可能的,我已经做到了。但我正在寻找一种优化的方式,这种方式不会使用太多的资源CPU@AhmadSattout现在更改问题的标题会使已提供的回答过时。如果你现在真的想知道如何做标记,你应该问一个新的问题,或者检查这个问题是否已经得到了回答,是的,但是你知道“Bold”这个词在哪里,但是很难找到字母“*”或“”你只需查找
*
和-
的索引就可以了。。。问题出在哪里?想象一下,浏览一个包含100多个字母的字符串,这不是时间效率问题,但你认为外部库会做什么,它会查看同一个字符串吗?不,当你知道开始和结束时,这很容易使用,而不是当你试图使用Markdown时。你应该有一些条件来生成要生成什么格式的文本。不知道你不能做任何事情。还有一件事,任何第三方库也会在内部使用一些概念来了解要格式化的文本的索引。
SpannableStringBuilder str = new SpannableStringBuilder("Your awesome text");
str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), start_int, end_int, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tv=new TextView(context);
tv.setText(str);