源码传送门(点击末尾阅读原文
1.初始化
把textview控件传过去即可
append传入要显示的字符
TextView mTextview = findViewById(R.id.text);
SpanUtils.with(mTextview)
.append(getString(R.string.text))
.create();
.append("X")
.setFontSize(50)
.append("Y")
.setFontSize(150)
.append("Z")
.setFontSize(20)
.setForegroundColor(getColor(R.color.colorAccent1))
.setBackgroundColor(getColor(R.color.colorAccent1))
.setQuoteColor(getColor(R.color.colorAccent1))
.setLeadingMargin(50, /*第一行缩进值*/ 0 /*其余行缩进值*/)
设置前
设置后
/*
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/*重心*/)
设置前
设置后
修改前:
.append(getString(R.string.text))
.append(getString(R.string.text))
.append(getString(R.string.text))
修改后
.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)//宽度比例
.setStrikethrough() //删除线
.setUnderline() //下划线
.append(getString(R.string.text))
.setBold() //设置粗体
.append(getString(R.string.text))
.setItalic() //设置斜体
.append(getString(R.string.text))
.setBoldItalic() //设置粗斜体
.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) //设置字体
.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");
}
}) //设置点击事件
打印
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
.append(getString(R.string.text))
.setUrl("http://www.baidu.com") //设置超链接
点击会跳转浏览器
.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) //设置模糊
.append(getString(R.string.text))
.setShadow(15,5,5,getColor(R.color.colorAccent1)) //设置阴影
.append("追加图片")
.appendImage(R.drawable.ic_launcher_background,SpanUtils.ALIGN_BOTTOM) //追加图片
.append("追加图片")
.appendSpace(20) //追加空白
.append("追加图片")