前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XYLibrary笔记四:XSpanned使用笔记

XYLibrary笔记四:XSpanned使用笔记

作者头像
项勇
发布2023-03-24 13:26:16
2850
发布2023-03-24 13:26:16
举报
文章被收录于专栏:项勇

源码传送门(点击末尾阅读原文

  • Spanned

1.初始化

把textview控件传过去即可

append传入要显示的字符

代码语言:javascript
复制
TextView mTextview = findViewById(R.id.text);
SpanUtils.with(mTextview)
        .append(getString(R.string.text)) 
        .create();
  1. 设置字体大小
代码语言:javascript
复制
.append("X")
.setFontSize(50)
.append("Y")
.setFontSize(150)
.append("Z")
.setFontSize(20)
  1. 前景色
代码语言:javascript
复制
.setForegroundColor(getColor(R.color.colorAccent1))
  1. 背景色
代码语言:javascript
复制
.setBackgroundColor(getColor(R.color.colorAccent1))
  1. 设置引用线颜色
代码语言:javascript
复制
.setQuoteColor(getColor(R.color.colorAccent1))
  1. 设置缩进
代码语言:javascript
复制
.setLeadingMargin(50, /*第一行缩进值*/ 0 /*其余行缩进值*/)

设置前

设置后

  1. 设置行高
代码语言:javascript
复制
/*
    public static final int ALIGN_BOTTOM   = 0;
    public static final int ALIGN_BASELINE = 1;
    public static final int ALIGN_CENTER   = 2;
    public static final int ALIGN_TOP      = 3;
*/
.setLineHeight(100/*行高*/,SpanUtils.ALIGN_CENTER/*重心*/)

设置前

设置后

  1. 字体比例

修改前:

代码语言:javascript
复制
.append(getString(R.string.text))
.append(getString(R.string.text))
.append(getString(R.string.text))

修改后

代码语言:javascript
复制
.append(getString(R.string.text))
.setFontProportion((float) 1.9) //整体比例
.append(getString(R.string.text))
.setFontXProportion((float) 1.5)//宽度比例
.append(getString(R.string.text))
.setFontXProportion((float) 0.3)//宽度比例
  1. 删除线
代码语言:javascript
复制
.setStrikethrough() //删除线
  1. 下划线
代码语言:javascript
复制
.setUnderline() //下划线
  1. 设置粗体和斜体
代码语言:javascript
复制
.append(getString(R.string.text))
.setBold()           //设置粗体
.append(getString(R.string.text))
.setItalic()         //设置斜体
.append(getString(R.string.text))
.setBoldItalic()     //设置粗斜体
  1. 设置字体
代码语言:javascript
复制
.append(getString(R.string.text))
.setTypeface(Typeface.DEFAULT_BOLD)       //设置字体
.append(getString(R.string.text))
.setTypeface(Typeface.SANS_SERIF)       //设置字体
.append(getString(R.string.text))
.setTypeface(Typeface.SERIF)       //设置字体
  1. 设置单独点击事件
代码语言:javascript
复制
.append("点击事件1")
.setClickSpan(new ClickableSpan() {
    @Override
    public void onClick(View view) {
        XLog.i("//设置点击事件1");
    }
})      //设置点击事件
.append("点击事件2")
.setClickSpan(getColor(R.color.colorAccent4),true, new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        XLog.i("//设置点击事件2");
    }
})      //设置点击事件

打印

代码语言:javascript
复制
2021-01-12 00:29:12.802 13577-13577/com.softwinner.app I/MainActivity.java: [ (MainActivity.java:75)#onClick ] //设置点击事件1
2021-01-12 00:29:13.190 13577-13577/com.softwinner.app I/MainActivity.java: [ (MainActivity.java:82)#onClick ] //设置点击事件2
  1. 超链接
代码语言:javascript
复制
.append(getString(R.string.text))
.setUrl("http://www.baidu.com")            //设置超链接

点击会跳转浏览器

  1. 设置模糊
代码语言:javascript
复制
.append(getString(R.string.text))
.setBlur((float) 1, BlurMaskFilter.Blur.SOLID)           //设置模糊
.append(getString(R.string.text))
.setBlur((float) 1, BlurMaskFilter.Blur.OUTER)           //设置模糊
.append(getString(R.string.text))
.setBlur((float) 1, BlurMaskFilter.Blur.INNER)           //设置模糊
.append(getString(R.string.text))
.setBlur((float) 1, BlurMaskFilter.Blur.NORMAL)           //设置模糊
  1. 设置阴影
代码语言:javascript
复制
.append(getString(R.string.text))
.setShadow(15,5,5,getColor(R.color.colorAccent1))         //设置阴影
  1. 追加图片
代码语言:javascript
复制
.append("追加图片")
.appendImage(R.drawable.ic_launcher_background,SpanUtils.ALIGN_BOTTOM)       //追加图片
  1. 追价空格
代码语言:javascript
复制
.append("追加图片")
.appendSpace(20)       //追加空白
.append("追加图片")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 项勇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档