首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小陈飞砖

    Spannable 和 Editable、SpannableStringSpannableString

    . */ public interface Appendable SpannableString (内容不可变,标记可附加或去掉) /** * This is the class for text * For mutable text, see {@link SpannableStringBuilder}. */ public class SpannableString extends SpannableStringInternal implements CharSequence, GetChars, Spannable SpannableString只有以下3个方法 public void setSpan(Object what super.removeSpan(what); } public final CharSequence subSequence(int start, int end) { return new SpannableString

    47060编辑于 2022-06-25
  • 来自专栏向治洪

    SpannableString 给TextView添加不同的显示样式

    Spannable对象,可以借助Spannable对象实现以上设置 myTextView = (TextView) this.findViewById(R.id.myTextView);   //创建一个 SpannableString 对象      SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");      //设置超链接      StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);      //SpannableString getClickableSpan()); mClickableText.setMovementMethod(LinkMovementMethod.getInstance()); } private SpannableString spanableInfo = new SpannableString("This is a test, Click Here!")

    2.1K70发布于 2018-02-01
  • 来自专栏葬爱家族

    Android 千变万化 TextView:神奇的 SpannableString

    之前写过一篇SpannableString的文章,最近搬出来统一放在简书上。 TextView 和 SpannableString 一起使用具体有哪些神奇的地方呢?本场 Chat 将全面地介绍 SpannableString 的用法,让你的 TextView 不再简单。 SpannableString 实现起来就很简单了。 这时候就要用到 SpannableString 了。 我们这篇文章讲的是 SpannableString,那当然是用 SpannableString 做。

    5.2K20发布于 2020-03-20
  • 来自专栏跟着小郑学JAVA

    Android 彩色上下文菜单 Context

    关键代码如下: MenuItem item1 = menu.findItem(R.id.m01); SpannableString spannableString1 = new SpannableString item2 = menu.findItem(R.id.m02); SpannableString spannableString2 = new SpannableString(item2 ); SpannableString spannableString3 = new SpannableString(item3.getTitle()); spannableString3 = menu.findItem(R.id.m05); SpannableString spannableString5 = new SpannableString(item5.getTitle SpannableString spannableString6 = new SpannableString(item6.getTitle()); spannableString6

    77330编辑于 2023-08-01
  • 来自专栏Android开发与分享

    【Android】强大的SpannableStringBuilder

    是的,SpannableStringBuilder和SpannableString的区别类似与StringBuilder、String,就是SpannableStringBuilder可以拼接,而SpannableString 的用法差不多,这边先举一个SpannableString的例子 SpannableString 修改字体颜色 /** * 使用SpannableString设置样式——字体颜色 */ private void mode1() { SpannableString spannableString = new SpannableString("暗影IV已经开始暴走了 = new SpannableStringBuilder(); spannableString.append("暗影IV"); spannableString.append SpannableString使用详解 以上有错误之处,感谢指出

    2.9K120发布于 2018-05-18
  • 来自专栏该溜子的专栏

    【Android】用户登录界面设计

    spannableString = new SpannableString(text); ClickableSpan clickableSpan = new ClickableSpan 用原始字符串创建 SpannableString 对象 SpannableString spannableString = new SpannableString(string); //1:Android 当中专门处理富文本效果 SpannableString spannableString = new SpannableString(text); (1)理解这个对象 创建SpannableString对象接收了一个 SpannableString 就是专门用来解决这个问题的:先把普通字符串包装成 SpannableString ,再给局部加效果,最后设置回控件显示,就能实现 “富文本” 效果。 spannableString = new SpannableString(text); ClickableSpan clickableSpan = new ClickableSpan

    31200编辑于 2025-07-19
  • 来自专栏全栈程序员必看

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

    在项目中会遇到在一行文字,部分需要不同的文字颜色、下划线以及超链接来展示,下面介绍两种方式实现: 1、SpannableString来实现 1)简介 对于给Textview设置不同颜色,就不得不提SpannableString ,当然给textview设置不同的字体颜色也可以通过加HTML标签来实现,但是有SpannableString的存在,为啥不用呢. (相比Html 相对简短易理解但还是建议掌握SpannableString)。 先简单的介绍一下SpannableString,SpannableStringBuilder. 注意:如果这些额外信息能被所用的方式支持,比如将SpannableString传给TextView;也有对这些额外信息不支持的,比如自定义view中Canvas绘制 文字,对于不支持的情况,SpannableString 当然,SpannableString和SpannableStringBuilder也是存在区别的,它们的区别在于 SpannableString像一个String一样,构造对象的时候传入一个 String

    10.1K21编辑于 2021-12-23
  • 来自专栏非著名程序员

    【有人@我】Android中高亮变色显示文本中的关键字

    net.loonggg.test; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.text.SpannableString param text * 文字 * @param keyword * 文字中的关键字 * @return */ public static SpannableString matcherSearchTitle(int color, String text, String keyword) { SpannableString s = new SpannableString text * 文字 * @param keyword * 文字中的关键字数组 * @return */ public static SpannableString matcherSearchTitle(int color, String text, String[] keyword) { SpannableString s = new SpannableString

    2.4K90发布于 2018-02-02
  • 来自专栏向治洪

    Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性

    下面我们通过SpannableString的具体实例操作来演示一下。    res-layout-main.xml <?xml version="1.0" encoding="utf-8"? android.graphics.Color;   import android.graphics.drawable.Drawable;   import android.os.Bundle;   import android.text.SpannableString    public class TextViewLinkActivity extends Activity {       TextView mTextView = null;          SpannableString setContentView(R.layout.main);           mTextView = (TextView)findViewById(R.id.myTextView);   //创建一个 SpannableString 对象           msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合/bot");

    2.3K90发布于 2018-01-30
  • 来自专栏Android群英传

    真·富文本编辑器的演进之路-Span开胃菜

    = SpannableString("CONTENT") spannableString.setSpan(span, 0, spannableString.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE ) text.text = spannableString UnderlineSpan 下划线 val span = UnderlineSpan() val spannableString = SpannableString = spannableString BulletSpan:段落前圆点 val span = BulletSpan(15, Color.RED) val spannableString = SpannableString ) text.text = spannableString ScaleXSpan 基于X轴缩放 val span = ScaleXSpan(2.0f) val spannableString = SpannableString spannableString = SpannableString("CONTENT") spannableString.setSpan(span, 0, spannableString.length

    3.1K20发布于 2021-03-16
  • 来自专栏开发者技术前线

    Android TextView 缩进指定距离

    第一种方案: 这里需要使用到 SpannableString 这个类,接着就是主角 LeadingMarginSpan 这个类。 LeadingMarginSpan.Standard what = new LeadingMarginSpan.Standard(width, 0); spannableString. setSpan(what, 0, spannableString.length(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE); LeadingMarginSpan spannablestring = new spannablestring(text); //这里没有获取margin的值,而是直接写死的 (what, 0, spannablestring.length(), spannablestring.span_inclusive_inclusive); title.settext

    2.2K30发布于 2020-11-23
  • 来自专栏极客猴

    会变色的TextView

    本文的主角就是 SpannableString 。 1 介绍 SpannableString SpannableString 继承于 SpannableStringInternal,同时实现了 CharSequence, GetChars, Spannable 2 使用 SpannableString SpannableString 用法可以分为三部走: 首先实例化一个 SpannableString 对象,然后为其设置样式,最后将 spanStirng 因为 SpannableString 是实现了 CharSequence 接口,所以是按照字符来计算的。 end 为样式生效的结束位置。 flags 为标记,标记样式生效的范围。 在 Adapter 的绑定视图的方法中,使用 SpannableString 为要显示的字符串设置效果 ?

    1.2K10发布于 2018-08-16
  • 来自专栏向治洪

    仿微信聊天表情发送

    最后将其用SpannableString替换成文字,表面上显示有图片,其实TextView里的text依然是:老婆,我想你了[可爱]。这个过程明白么?  getExpressionString(Context context, String str) {           SpannableString spannableString = new SpannableString String spannableString) {   if (TextUtils.isEmpty(spannableString)) {   return null;           }    spannable = new SpannableString(spannableString);           spannable.setSpan(imageSpan, 0, spannableString.length = null)                   mListener.onCorpusSelected(emoji);               SpannableString spannableString

    8.8K70发布于 2018-01-29
  • 来自专栏Android机动车

    使用Span实现各种酷炫效果

    /** * 设置不同颜色文字 */ private void setForegroundColor() { SpannableString spannableString = new SpannableString /** * 设置背景色 */ private void setBackgroundColor() { SpannableString spannableString = new SpannableString /** * 设置超链接 */ private void setLink() { SpannableString spannableString = new SpannableString( 然后和之前类似,使用它: /** * 给文字加边框 */ private void addBox() { SpannableString spannableString = new SpannableString spannableString = new SpannableString( "我爱北京天安门,天安门上太阳升 我爱北京天安门,天安门上太阳升"); spannableString.setSpan

    2.5K41发布于 2018-08-03
  • 来自专栏developerHaoz 的安卓之旅

    Android TextView 缩进指定距离

    第一种方案: 这里需要使用到 SpannableString 这个类,接着就是主角 LeadingMarginSpan 这个类。 , 0, spannableString.length(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE); LeadingMarginSpan 是接口,内部的 Standard 接着看下 SpannableString 的 setSpan() 的方法,这里需要设置四个参数,第一个就是我们创建出来的 LeadingMarginSpan ,第二个和第三个其实就是第一个对象的作用范围 spannableString = new SpannableString(text); //这里没有获取margin的值,而是直接写死的 LeadingMarginSpan.Standard (what, 0, spannableString.length(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE); title.setText

    1.1K30编辑于 2022-05-13
  • 来自专栏Android、鸿蒙开发

    倒计时工具类

    * http://blog.csdn.net/ah200614435/article/details/7914459 */ SpannableString spannableString = new SpannableString(mTextView.getText().toString()); //获取按钮上的文字 ForegroundColorSpan */ spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);//将倒计时的时间设置为红色 mTextView.setText(spannableString); } else { if (timer !

    82620发布于 2020-09-25
  • 来自专栏程序员修炼之路

    Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果

    SpannableString 在 Android 开发中是一个非常强大的工具,它允许你在单个字符串范围内应用多种样式。 使用 SpannableString,你可以为文本中的不同部分设置不同颜色,字体大小,字体风格,甚至可以在文本的不同部分添加点击事件。 下面是一个详细的介绍以及一些常见效果的具体代码示例: 基本介绍 SpannableString 是 CharSequence 的一个子类,用于在一个字符串上应用一种或多种样式。 对象 val spannableString = SpannableString("Hello, Android Developers!") // 设置文本 'Hello' 为红色 spannableString.setSpan( ForegroundColorSpan(Color.RED), 0, // 开始索引 5

    2K10编辑于 2024-09-06
  • 来自专栏小工匠聊架构

    TextView

    我们使用SpannableString对象来设置Span。 SpannableString和SpannableBuilder的区别:SpannableString不允许修改文本,只允许设置Span,而SpannableBulilder既允许修改文本,也允许设置Span 对象 SpannableString spannableString = new SpannableString(text); // 将text中的所有文本设置成ClickableSpan 对象 SpannableString s = new SpannableString(text); // 第二步:确定要设置的子字符串的star和end int start = 6 ; int end 这种方法需要将文本转换成为一个SpannableString或者SpannableBuilder对象,然后在SpannableString或者SpannableBuilder对象中使用setSpan方法将需要设置样式的文本转换成相应的

    2.3K20发布于 2021-08-16
  • 来自专栏小工匠聊架构

    EidtText

    Bitmap创建ImageSpan对象 ImageSpan imageSpan = new ImageSpan(this,bitmap); // 创建一个SpannableString 对象,以便插入用ImageSpan对象封装的图像 String text = "gur_project_"; SpannableString spannableString = new SpannableString(text); // 用ImageSpan替换gur-project- spannableString.setSpan Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // 将随机获取的图像追加到EditText控件后 et_input.append(spannableString 使用EditText类不能直接插入Span对象,因此需要先使用SpannableString对象来封装Span对象(例如本例中的ImageSpan对象),再将SpannableString对象插入到EditText

    1K50发布于 2021-08-16
  • 来自专栏Android群英传

    真·富文本编辑器的演进之路-富文本Span的边界探究

    setSpan with(binding) { val text = "我真的是被Span搞裂开了" SpannableString(text).also { it.setSpan [ start … end ) —— [ 0 … length ) getSpans with(binding.textview) { val spannableString = SpannableString (text) val spans = spannableString.getSpans(0, length(), StyleSpan::class.java) spans.forEach { span -> val start = spannableString.getSpanStart(span) val end = spannableString.getSpanEnd 对于SpannedString、SpannableString来说,它们是继承的SpannableStringInternal。

    1K10编辑于 2021-12-08
领券