首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android开发与分享

    【Android】强大的SpannableStringBuilder

    是的,SpannableStringBuilder和SpannableString的区别类似与StringBuilder、String,就是SpannableStringBuilder可以拼接,而SpannableString 效果: 字体颜色 后面都以SpannableStringBuilder为例子 SpannableStringBuilder 修改字体颜色 /** * 使用SpannableStringBuilder SpannableStringBuilder spannableString = new SpannableStringBuilder(); spannableString.append SpannableStringBuilder spannableString = new SpannableStringBuilder(); spannableString.append 厉害了我的SpannableStringBuilder~~ /** * 使用SpannableStringBuilder设置样式——图片 */ private void

    2.8K120发布于 2018-05-18
  • 来自专栏小陈飞砖

    Spannable 和 Editable、SpannableString 和 SpannableString

    * For mutable text, see {@link SpannableStringBuilder}. */ public class SpannableString extends SpannableStringInternal CharSequence subSequence(int start, int end) { return new SpannableString(this, start, end); } SpannableStringBuilder 内容和标记都可变) /** * This is the class for text whose content and markup can both be changed. */ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable, Editable, Appendable, GraphicsOperations SpannableStringBuilder

    46760编辑于 2022-06-25
  • 来自专栏囍楽云博客

    textview设置字体大小-设置textview字体样式

    mTextView3.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); mTextView3.getPaint().setAntiAlias(true); SpannableStringBuilder sb = new SpannableStringBuilder("字体多种颜色一&背景色"); sb.setSpan(new ForegroundColorSpan(Color.RED),0,2, sb2 = new SpannableStringBuilder("设置字符上标"); sb2.setSpan(new SuperscriptSpan(), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE sb3 = new SpannableStringBuilder("设置字符下标"); sb3.setSpan(new SubscriptSpan(), 2, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE ); mTextView8.setText(sb3); SpannableStringBuilder sb4 = new SpannableStringBuilder("设置字体缩放"); sb4

    4.5K20编辑于 2022-12-26
  • 来自专栏Android 技术栈

    Android Span在项目中的几种使用方式

    getSpan(String content, String keyWord, int color) { SpannableStringBuilder span = null; if (content == null) { span = new SpannableStringBuilder(""); return span; } else getSizeSpan(String content, String keyWord, float spValue) { SpannableStringBuilder span = null ; if (TextUtils.isEmpty(content)) { span = new SpannableStringBuilder(""); return getSpan(String content, String keyWord, int color, int sp) { SpannableStringBuilder span = null

    1.4K50发布于 2019-03-21
  • 来自专栏Android 技术栈

    Android Span在项目中的几种使用方式

    getSpan(String content, String keyWord, int color) { SpannableStringBuilder span = null; if (content == null) { span = new SpannableStringBuilder(""); return span; } else { getSizeSpan(String content, String keyWord, float spValue) { SpannableStringBuilder span = null; if (TextUtils.isEmpty(content)) { span = new SpannableStringBuilder(""); return getSpan(String content, String keyWord, int color, int sp) { SpannableStringBuilder span = null;

    89130发布于 2019-03-22
  • 来自专栏非著名程序员

    Android中如何实现图文混排

    "; SpannableStringBuilder ssb = new SpannableStringBuilder(temp); Drawable dd = getResources( 更多用法整理: spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:." spannable=new SpannableStringBuilder(getText().toString());//用于可变字符串 ForegroundColorSpan span=new spannable=new SpannableStringBuilder(getText().toString()); CharacterStyle span=new UnderlineSpan( highlight(String text,int color1,int color2,int fontSize){ SpannableStringBuilder spannable=new SpannableStringBuilder

    1.7K90发布于 2018-02-02
  • 来自专栏CSDN

    TextView设置跑马灯效果

    spannableStringBuilder = null; SpannableStringBuilder ssb = new SpannableStringBuilder(); for (int i = 0; i < userNameArr.length; i++) { spannableStringBuilder = new SpannableStringBuilder (spannableStr); spannableStringBuilder.append("成功提现"); spannableStringBuilder.append (spannableS); spannableStringBuilder.append("元"); spannableStringBuilder.append (" "); ssb.append(spannableStringBuilder

    1.5K20编辑于 2022-05-05
  • 来自专栏Android技术分享

    让你的EditText删除表情比微信更高效--记一次android性能分析优化实战

    spannableStringBuilder = new SpannableStringBuilder(editable); spannableStringBuilder.delete (spData.start, spData.end); GifTextUtil.setText(this, spannableStringBuilder); setSelection ,在设置到输入框之前删除表情,因为此时新的SpannableStringBuilder中并不包含ChangeWatcher所以不会多次调用ChangeWatcher.onSpanChanged() 删除表情后再将 SpannableStringBuilder设置给EditText 最后设置光标位置 完成这一系列操作之后demo一跑,删除果然变流畅了,当时心里那个高兴啊,竟然做个功能可以比微信实现的还好那么一点 输入法问题 SpannableBuilder.create(sWatcherClass, source) : super.newEditable(source)); } } 自定义一个SpannableStringBuilder

    1.6K30发布于 2019-08-12
  • 来自专栏Flutter入门到实战

    教你如何最快写出酷炫的dialog对话框

    ; private Button mButton; ArrayAdapter<SpannableStringBuilder> adapter; @Override > chooseTypeList = new ArrayList<>(); SpannableStringBuilder builder1 = new SpannableStringBuilder builder2 = new SpannableStringBuilder(); SpannableString ss2 = new SpannableString("浙江省 - 省会 builder3 = new SpannableStringBuilder(); SpannableString ss3 = new SpannableString("江苏省 - 省会 builder4 = new SpannableStringBuilder(); SpannableString ss4 = new SpannableString("广东省 - 省会

    93320发布于 2018-09-03
  • 来自专栏技术小黑屋

    捕获Android文本中链接点击事件

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 private void setLinkClickable(final SpannableStringBuilder private CharSequence getClickableHtml(String html) { Spanned spannedHtml = Html.fromHtml(html); SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(spannedHtml); URLSpan[] urls = clickableHtmlBuilder.getSpans

    2.5K10发布于 2018-09-04
  • 来自专栏CSDN

    Android实现点击链接跳转功能

    string = "是阿超是阿超是阿超\n登录即代表您同意我们的"; String str = "《用户\n协议》"; String s = "《隐私条款》"; SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(string); SpannableString spannableStr = ds.setUnderlineText(true); } }, 0, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannableStringBuilder.append (spannableStr); spannableStringBuilder.append(" 和 "); spannableStringBuilder.append(spannableS loginPageTextView.setHighlightColor(android.R.color.transparent); loginPageTextView.setText(spannableStringBuilder

    2.5K20编辑于 2022-08-07
  • 来自专栏移动开发之家

    微博的文本编辑和显示(emoji表情,@某人、链接高亮点击)

    之后SpannableString来存储对应的ImageSpan 和文本中间的关系,最后利用SpannableStringBuilder 将生成好的SpannableString插入到输入框中。 spannableStringBuilder = new SpannableStringBuilder(editText.getText()); spannableStringBuilder.insert SpannableStringBuilder style = new SpannableStringBuilder(charSequence); style.clearSpans();// should spannableStringBuilder = new SpannableStringBuilder(editText.getText()); //直接用span会导致后面没文字的时候新输入的一起变色 ; Matcher matcher = pattern.matcher(spannable); SpannableStringBuilder spannableStringBuilder

    2.6K20发布于 2018-08-22
  • 来自专栏全栈程序员必看

    Android中Textview文字设置不同颜色、下划线、加粗、超链接

    先简单的介绍一下SpannableString,SpannableStringBuilder. 首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个SetSpan()函数, 能给这些存储的String 总而言之,SpannableString和SpannableStringBuilder和string差不多,但是不能给字符串设置 不同的样式. //使用SpannableString,必须一次传入,构造完成 //使用SpannableStringBuilder,可以使用append()再添加 SpannableStringBuilder 都实现了CharSequence接口,所以可以直接把SpannableString和SpannableStringBuilder通过TextView.setText()设置给TextView。

    9.9K21编辑于 2021-12-23
  • 来自专栏Code

    Android中TextView文字设置不同的颜色

    在项目的过程中会遇到在一行文字中,部分功能需要不同的文字颜色来展示,下面介绍两种方式实现: 效果图: [wqs2rn595h.png] 这里写图片描述 方式一: 用SpannableStringBuilder 来实现 TextView tv=(TextView)findViewById(R.id.tv); String content = "只会玩战士回复冷云他大叔:啊哈哈哈或"; SpannableStringBuilder builder = new SpannableStringBuilder(content); //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色

    11.5K20发布于 2019-08-07
  • 来自专栏向治洪

    Android自定义用户协议的解决方案

    对于这种需求,我们可以通过SpannableStringBuilder来实现。首先,新建一个TextUtils工具类,它基于SpannableStringBuilder实现,代码如下。 getBuilder() { return new Builder(); } public static class Builder { private SpannableStringBuilder strBuilder; private Builder() { strBuilder = new SpannableStringBuilder(); onChecked(); void onUnChecked(); } private static void setImageSpan(Context context, SpannableStringBuilder

    1.1K20编辑于 2022-11-30
  • 来自专栏移动开发专栏

    Android 服务协议隐私政策高亮可点击写法

    代码比较简单,涉及到SpannableStringBuilder知识点 用到两个Span: ClickableSpan 处理点击事件 ForegroundColorSpan 设置修饰 代码: private fun setText() { //拼接字符串 val spanBuilder = SpannableStringBuilder("同意") /**

    1.3K20编辑于 2022-06-10
  • 来自专栏Android干货

    Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件

    int position) { return position; } 重点来了 getView() ~~ 首先 建议大家要看下这几篇文章 (转) SpannableString与SpannableStringBuilder holder.txt_comment.getText(); URLSpan[] urlspan = spannable.getSpans(0, ends, URLSpan.class); SpannableStringBuilder stylesBuilder = new SpannableStringBuilder(text); stylesBuilder.clearSpans(); android.content.Context; import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder stylesBuilder = new SpannableStringBuilder(text); stylesBuilder.clearSpans();

    2.9K60发布于 2018-05-18
  • 来自专栏包子的书架

    Android TextView处理html的图片和标签事件

    autoLink="all"/> 解析Html /** * 利用urlSpan 去解析内容 */ private void setLinkClickable(final SpannableStringBuilder new DetailImageGetter(getApplicationContext(), textView), null);//Html.fromHtml(html); SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(spannedHtml); URLSpan[] urls = clickableHtmlBuilder.getSpans

    2.3K70发布于 2020-06-16
  • 来自专栏云服务器开发

    Android彩色文字的超链接实现的封装

    二、设计点击事件首先需要创建一个SpannableStringBuilder用于应用点击事件等等的容器val style = SpannableStringBuilder()val parent = " = false }}fun TextView.colorText(colorText:String, color:String, click:()->Unit){ val style = SpannableStringBuilder

    1.3K00编辑于 2022-07-27
  • 来自专栏非著名程序员

    Android之捕获TextView超链接

    记住微信号是:smart_android 哦"; CharSequence charSequence = Html.fromHtml(html); SpannableStringBuilder builder = new SpannableStringBuilder( charSequence); URLSpan[] urlSpans = builder.getSpans(0, charSequence.length

    93590发布于 2018-02-02
领券