美文网首页
Android 富文本TextView

Android 富文本TextView

作者: 红酥手黄藤酒丶 | 来源:发表于2019-01-11 22:05 被阅读0次

Android 富文本TextView

项目中总会遇到一段文字中,部分文字颜色不同,字体大小不同,使用 CharacterStyle 的一系列的子类可以完美实现该效果。

SpannableStringBuilder 主要通过使用 setSpan 方法来改变文本样式。

  • start:指定 span 的开始位置
  • end:指定 span 的结束位置(开区间)
  • flags:对应插入新文本时是否应用该样式
  • what:对应的各种样式,就是要改变文字的什么属性
    • BackgroundColorSpan:文本背景色
    • ForegroundColorSpan:文本颜色
    • StrikethroughSpan:删除线
    • 。。。。等等

准备封装一个富文本 TextView。


package com.ecoproaims.handheldpesticidemanagement.utils.widget

import android.content.Context
import android.text.Spannable
import android.text.SpannableStringBuilder
import android.text.style.CharacterStyle
import android.util.AttributeSet
import android.widget.TextView

/**
 * create by zyf on 2019/1/10 3:53 PM
 */
class RichText : TextView {

    constructor(context: Context) : this(context, null) {
    }


    constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0) {

    }

    constructor(context: Context, attrs: AttributeSet?, defstyleAttr: Int) : super(context, attrs, defstyleAttr) {

    }


    fun setSpan(beginIndex: Int, endIndex: Int, vararg style: CharacterStyle) {
        val builder: SpannableStringBuilder = SpannableStringBuilder(text)
        style.forEach {
            builder.setSpan(it, beginIndex, endIndex, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)
        }

        text = builder
    }

    fun setSpan(mText: String, beginIndex: Int, endIndex: Int, vararg style: CharacterStyle) {
        val builder: SpannableStringBuilder = SpannableStringBuilder(mText)
        style.forEach {
            builder.setSpan(it, beginIndex, endIndex, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)
        }

        text = builder
    }

}

相关文章

  • 整理开源项目

    Android 框架大全 富文本编辑 最理想邮件编辑效果效果 Advanced Android TextView ...

  • android学习之富文本

    android TextView可以用加载富文本,TextView本身不需要改动什么,只需要装入对加载的文本进行处...

  • Android TextView实现富文本

    TextView支持字号放大改变颜色添加链接等等富文本操作 示例: 更多支持的富文本标签请查看:android.j...

  • Android 富文本TextView

    一、怎么用? 先介绍TextView富文本的使用方法,TextView富文本显示主要有两种方式,一个是使用Span...

  • Android 富文本TextView

    Android 富文本TextView 项目中总会遇到一段文字中,部分文字颜色不同,字体大小不同,使用 Chara...

  • Android富文本处理

    先上效果图 一、初识TextView富文本 接触Android以来,都不知道TextView能完成的事情原来不止于...

  • Android富文本的学习一

    1TextView的富文本介绍: 什么是富文本,大家都知道TextView可以显示文字,设置文字样式,利用富文本可...

  • Android Textview富文本--Html

    说明 Android开发过程中,对TextView操作是无时不刻的操作,Textview富文本有时可以给我们很丰富...

  • Android Spannable / 富文本的多样式使用

    1. Spannable / 富文本的用途 丰富 Android TextView 的表现形式,如修改同一主体...

  • Android TextView富文本--SpannableSt

    说明 Android开发过程中,对TextView操作是无时不刻的操作,字体颜色控制又是这里最常见的操作之一。常见...

网友评论

      本文标题:Android 富文本TextView

      本文链接:https://www.haomeiwen.com/subject/ydbfdqtx.html