Android 封装Span的各种用法

本文介绍在Android开发中如何使用SpannableStringBuilder封装来处理TextView中的特殊内容展示,包括颜色、字体、大小的定制以及点击事件的设置,旨在简化多TextView的使用,通过SpannableStringUtil实现高效文本样式处理。
摘要由CSDN通过智能技术生成
前言

在开发过程中,TextView中会出现一些特殊内容(如:部分内容颜色、字体、大小不同,并且部分字体可点击),写多个TextView又会显得麻烦,那又怎么解决这个问题呢?首页我们来看看TextView的源码,在android.text.style包下,有很多Span类,那么我们可以使用SpannableStringBuilder来设置Span,先看看实现效果:
在这里插入图片描述

使用方式:
 val builder = SpannableStringUtil.create(context!!)
            .setText("类似于HTML中的<li>标签的圆点效果")
            .setBullet(android.R.color.holo_green_dark)//添加圆点
            .setTextColor(android.R.color.black)
            .setText("\n设置文字左侧显示引用样式")
            .setQuote(android.R.color.holo_green_dark)
            .setText("\n设置下划线以及删除线")
            .setTextUnderline()//下划线
            .setTextStrikeThrough()//删除线
            .setTextColor(android.R.color.holo_red_dark)
            .setTextSize(20)
            .setTextStyle(Typeface.ITALIC)
            .setText("这个可以点击")
            .setTextColor(android.R.color.holo_green_dark)
            .setTextSize(21)
            .setTextStyle(Typeface.BOLD)//字体样式
            .setClick(tv_span1,{
                Log.e("data", it)
            },true)//设置点击
            .setText("这里设置下标")
            .setTextColor(android.R.color.holo_blue_dark)
            .setTextSubscript(6)//下标
            .setTextColor(android.R.color.holo_orange_dark)
            .setText("这里可以设置上标")
            .setScaleX(1.5f)
            .setTextColor(android.R.color.holo_green_dark)
            .setTextSuperscript(6)//上标
            .setTextColor(android.R.color.holo_blue_dark)
            .setDrawable(R.mipmap.ic_launcher,100,100)
            .setAlign(Layout.Alignment.ALIGN_OPPOSITE)
            .build()
        tv_span1.text = builder

        val builder1 = SpannableStringUtil.create(context!!)
            .setText("人的一生,有许多事情,是需要放在心里慢慢回味的,过去的就莫要追悔,一切向前看吧 任何打击都不足以成为你堕落的借口,即使你改变不了这个世界,你却依然可以改变自己,选择条正确的路永远走下去。")
            .setTextColor(android
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值