精华内容
下载资源
问答
  • Spannable

    2019-06-03 16:51:58
    Spannable和SpannableStringBuilder 1.和String的关系 这三个玩意都是用来存储字符串的,但和String不同的是前面那两兄弟有一个 setSpan()方法,这个方法可以给存储的字符串添加各种样式,而String不行 2....

       

        Spannable和SpannableStringBuilder

        1.和String的关系
            这三个玩意都是用来存储字符串的,但和String不同的是前面那两兄弟有一个
            setSpan()方法,这个方法可以给存储的字符串添加各种样式,而String不行
        2.SpannableString和SpannableStringBuilder的区别
            SpannableString无法拼接字符串,而SpannableStringBuilder类似于StringBuilder,
            可以通过append方法来拼接多个字符串
        3.void setSpan (Object what, int start, int end, int flags)
            参数说明:

    object what :对应的各种Span,后面会提到;        
    int start:开始应用指定Span的位置,索引从0开始        
    int end:结束应用指定Span的位置,特效并不包括这个位置。比如如果这里数为3(即第4个字符),第4个字符不会有任何特效        
    int flags:取值有如下四个       
         
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:以start和end为界,前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式             
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE:前面不包括,后面包括。即仅在范围字符的后面插入新字符时会应用新样式            
        Spannable.SPAN_INCLUSIVE_EXCLUSIVE:前面包括,后面不包括        
        Spannable.SPAN_INCLUSIVE_INCLUSIVE:前后都包括。


        4.各种Span类型
            (1)字体颜色设置
                SpannableString spanString = new SpannableString("欢迎光临我的博客");
                ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);
                spanString.setSpan(span, 1, 5, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
                et.setText(spanString);
            (2)字体背景颜色
                BackgroundColorSpan span = new BackgroundColorSpan(Color.YELLOW);
            (3)字体大小
                AbsoluteSizeSpan span = new AbsoluteSizeSpan(16);
            (4)粗体、斜体
                StyleSpan span = new StyleSpan(Typeface.BOLD_ITALIC); 
            (5)删除线
                StrikethroughSpan span = new StrikethroughSpan();
            (6)下划线
                UnderlineSpan span = new UnderlineSpan();
            (7)图片置换    
                SpannableString spanString = new SpannableString("欢迎光临我的博客");  
                Drawable d = getResources().getDrawable(R.drawable.ic_launcher);  
                d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());  
                ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);  
                spanString.setSpan(span, 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
                editText.setText(spanString); 

    展开全文
  • Spannable标识

    2018-07-25 21:20:06
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE //前后都不包括(常用) Spannable.SPAN_INCLUSIVE_EXCLUSIVE //前包括后不包括 Spannable.SPAN_EXCLUSIVE_INCLUSIVE //前不包括后包括 Spannable.SPAN_INCLUSIVE_INCLUSIVE ...

    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE //前后都不包括(常用)

    Spannable.SPAN_INCLUSIVE_EXCLUSIVE  //前包括后不包括

    Spannable.SPAN_EXCLUSIVE_INCLUSIVE  //前不包括后包括

    Spannable.SPAN_INCLUSIVE_INCLUSIVE  //前后都包括

    TextView tv = (TextView) findViewById(R.id.tv);
    String format = MessageFormat.format("(查询到{0}条预订订单)", 2);
    SpannableStringBuilder stringBuilder = new SpannableStringBuilder(format);
    stringBuilder.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), R.color.orange_ff7f00)), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//前后都不包括
    //builder.insert(1, "a");//插入文本位置要紧挨span样式 如果不是,那么设置的样式不适用a  后置包括同理。
    tv.setText(stringBuilder);
    
    
    
    展开全文
  • Spannable设置超链接

    2017-07-04 10:15:09
    android开发中使用Spannable设置超链接的方法
  • android Spannable

    2017-09-17 14:46:42
    Spannable可以定制一段文本中不同类型的文字样式,比如字体大小、颜色、图片、数学公式等。Spannable主要有两个子类,类似String和StringBuilder的区别。 主要方法://设置样式 what为CharacterStyle类型。flags为...

    Spannable可以定制一段文本中不同类型的文字样式,比如字体大小、颜色、图片、数学公式等。

    这里写图片描述

    Spannable主要有两个子类,类似String和StringBuilder的区别。他们都可以定制不同的文字样式。
    还有一个SpannedString,它的样式和文本都不可变。

    主要方法:

    //设置样式 what为CharacterStyle类型。flags为startend的取值区间。
    void setSpan (Object what, int start, int end, int flags)
    //flags的取值 定义在 Spanned中
    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 不包含两端startend所在的端点              (a,b)
    Spanned.SPAN_EXCLUSIVE_INCLUSIVE 不包含端start,但包含end所在的端点       (a,b]
    Spanned.SPAN_INCLUSIVE_EXCLUSIVE 包含两端start,但不包含end所在的端点   [a,b)
    Spanned.SPAN_INCLUSIVE_INCLUSIVE 包含两端startend所在的端点                     [a,b]

    不过好像只有Spanned.SPAN_INCLUSIVE_EXCLUSIVE有效果

    2、CharacterStyle

    CharacterStyle定义在android.text.style包中,主要有:

    这里写图片描述

    SuggestionSpan 相当于占位符
    ForegroundColorSpan 文本颜色(前景色)
    BackgroundColorSpan 背景色
    RasterizerSpan 光栅效果
    StrikethroughSpan 删除线(中划线)
    MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕
    ClickableSpan 文本可点击,有点击事件
    UnderlineSpan 下划线
    — URLSpan 文本超链接

    MetricAffectingSpan 父类,一般不用
    AbsoluteSizeSpan 绝对大小(文本字体)
    TextAppearanceSpan 文本外貌(包括字体、大小、样式和颜色)
    TypefaceSpan 文本字体
    ScaleXSpan 基于x轴缩放
    ReplacementSpan 父类,一般不用
    — DynamicDrawableSpan 设置图片,基于文本基线或底部对齐。
    — — ImageSpan 图片
    LocaleSpan 用来设置地区语言
    StyleSpan 字体样式:粗体、斜体等
    SubscriptSpan 下标(数学公式会用到)
    SuperscriptSpan 上标(数学公式会用到)
    RelativeSizeSpan 相对大小(文本字体)

    实例:

    SpannableString span = new SpannableString("ForegroundColorSpan");
    span.setSpan(new ForegroundColorSpan(Color.RED), 10, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setText(span);

    效果:
    这里写图片描述

    更多效果见:
    http://blog.csdn.net/lixin84915/article/details/8110667

    展开全文
  • SpannableTextView,.zip

    2019-10-11 02:52:25
    spannable textview是一个自定义的文本视图,允许您通过spannables自定义文本片段或语句的样式,但不必直接处理spannable本身。
  • spannable字符串帮助器

    2021-04-05 22:49:49
    作者jaychang0917,源码SimpleText,一个简单的spannable字符串帮助器,喜欢的朋友可以参考一下。
  • Spannable简介

    2014-10-11 09:42:39
    Spannable简介 TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。 使用步骤: ...

    Spannable简介

    TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。

    使用步骤:

    1. SpannableString spannable = new SpannableString(str);
    2. // SpannableStringBuilder spannable = new SpannableStringBuilder(str);
    3. //创建各类Span
    4. CharacterStyle span=new UnderlineSpan(); 
    5. spannable.setSpan(span,start,end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    6. //可以连续设置span
    7. view.setText(spannable);
    void android.text.SpannableString.setSpan(Object what, int start, int end, int flags)

    setSpan会将start到end这间的文本设置成创建的span格式。span可以是图片格式。

    各类Span示例

    1. new URLSpan("http://www.baidu.com")
    2. new BackgroundColorSpan(Color.RED)
    3. new ForegroundColorSpan(Color.YELLOW)
    4. new StyleSpan(android.graphics.Typeface.BOLD_ITALIC)
    5. new UnderlineSpan(); 
    6. new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
    展开全文
  • Spannable的使用

    千次阅读 2018-08-02 14:58:10
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE //前后都不包括 Spannable.SPAN_INCLUSIVE_EXCLUSIVE //前包括后不包括 Spannable.SPAN_EXCLUSIVE_INCLUSIVE //前不包括后包括 Spannable.SPAN_INCLUSIVE_INCLUSIVE //前后都...
  • 主要介绍了Android 自定义 View 中使用 Spannable的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • TextView中 Spannable

    2014-03-24 21:00:56
    在TextView属性设置中,较为实用的Spannable,在这记一段代码: package xiaolong.ui; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.text.Spannable; ...
  • Spannable 的属性

    2018-04-20 09:37:19
    Spannable 对文字的编辑减少TextView的拼接并且达到改变一串字符中的部分文字的字体颜色,背景颜色,字体大小,样式 增加文字的超链接。如 把部分字体改成红色:SpannableString amountS=new SpannableString(amount...
  • 通过Spannable设置TextView文字样式,相关博文:http://www.cnblogs.com/tianzhijiexian/p/4222393.html
  • 一般常用的是Spannable.SPAN_EXCLUSIVE_EXCLUSIVE,对于Spannable.SPAN_INCLUSIVE_EXCLUSIVE一直似懂非懂。 顾名思义: Spannable.SPAN_EXCLUSIVE_EXCLUSIVE //前后都不包括 Spannable.SPAN_INCLUSIVE_...
  • 一个易于使用且功能强大的Spannable库 截屏 摇动 implementation 'com.github.iwgang:simplifyspan:2.2' 支持单位 SpecialTextUnit 文本(构造函数|字符串) 重力(setGravity(gravity | int))SpecialGravity....
  • Spannable与Editable区别

    2017-01-22 17:06:00
    在看TextView源码时候又看到了这两个接口:Spannable和Editable; 之前一直没有认真研究过两者的关系,现在看了源码记录下来。 1:两者属于继承关系,Editable继承于Spannable Editable: Spannable: 相较于...
  • 我们都知道 Android 中使用 Spannable 可以实现 TextView 富文本的显示,但是在自定义控件中如何使用 Spannable 绘制不同样式的文字呢? 例如这种效果,标题中的 分数字61 是粗体,分 是常规字体,并且相对于 61 更...
  • TextView & Spannable

    2018-05-15 10:05:19
    TextView.setText(CharSequence text)该方法接受一个CharSequence类型的参数作为输入,除了String之外,我们还可以提供Spannable类型的参数。Spannable.setSpan(Object what, int start, int end, int flags)该...
  • Spannable / 富文本的用途是丰富 Android TextView 的表现形式,如修改同一主体中某一部分文字的颜色、大小、样式、添加超链接以及添加图标,使得 TextView 功能与表现形式更强大! 以下为笔者部分实现,更多请移步...
  • This libary aims to simplify the creation of spannable string. Features [x] long click event [x] bind an object with the clicked text [x] click event (with pressed color state) [x] text background ...
  • Android中Spannable的用法

    2017-04-17 13:29:14
    一、Spannable简介  首先,从官方文档可以看出Spannable是一个接口,它本身实现了Spanned接口,派生了三个子类分类Editable, SpannableString, SpannableStringBuilder。Spannable是设置文字样式的基础类,它引出的...
  • Android Spannable in kotlin > Kotlin wrappers around SpannableStringBuilder. Inspired by binaryfork's Spanny. SpannableStringBuilder API is attractive, it's a nice way to styling text without split ...
  • Regards, Bhavani.G Thank you for the reply.Actually, What my need is if i select some text and clicking on Bold button(I have implemented this with spannable)in edit text/autocomplete text view my ...
  • 原文链接:... 目录(?)[-] 一关于Spannable的构建 二给Spannable对象设置样式 三样式分析 AbsoluteSizeSpan AlignmentSpanStandard BackgroundColorSpan BulletSpan Drawable...
  • EditText中使用Spannable //布局 <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" /> //代码 EditText etStr = (EditText) findViewB...
  • Spannable方法的用法

    2014-02-19 13:13:21
    在谷歌的官方网站上,关于Spannable.setSpan()方法的介绍如下 public abstract void setSpan (Object what, int start, int end, int flags) Added in API level 1 Attach the specified markup ...
  • Spannable, SpannableString、SpannableStringBuilder一、Spanned and Spannable1.Spanned 这是一个针对文本的接口,用来标记在文本的某些范围之类,附属了哪些对象。 public interface Spanned extends ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,343
精华内容 3,337
关键字:

spannable