常见String样式格式化汇总

1、StringFormat

在Strings文件中创建string标签,通过%1 s ! 代 替 s t r i n g 字 符 , s!代替string字符,%2 s!stringd代替int字符,进行格式化

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

使用案例
btnRxJava.text=resources.getString(R.string.format_word).format("green",10)

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
2、HTML标记

<?xml version="1.0" encoding="utf-8"?>
<resources>    
<string name="welcome">Welcome to <b>Android</b>!</string>
</resources>


<b> 表示粗体文本。
<i> 表示斜体文本。
<u> 表示下划线</u> 文本。
前提要对尖括号<>进行html转义

使用案例
string文件

<string name="html_word">Hello, %1$s! You have &lt;b>%2$d new 
messages&lt;/b>.</string>

调用方法使用Html.fromHtml

tv_hint.text=Html.fromHtml(resources.getString(R.string.html_word).format("Allen",1))
3、Spannable 设置样式

常用属性:
Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终了下标Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标

基本使用:

1、ForegroundColorSpan添加前景色

val spannableString=SpannableString("啥是佩奇啊")
val foregroundColorSpan=
ForegroundColorSpan(Color.parseColor("#00ff00"))
spannableString.setSpan(foregroundColorSpan,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述

2、BackgroundColorSpan添加背景色

val spannableString=SpannableString("啥是佩奇啊")
val backgroundColorSpan=
BackgroundColorSpan(Color.parseColor("#00ffff"))
spannableString.setSpan(backgroundColorSpan,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述

3、RelativeSizeSpan设置放大效果

val spannableString=SpannableString("啥是佩奇啊")
val backgroundColorSpan=
RelativeSizeSpan(1.5f)  // 教前一个字体放大1.5倍
spannableString.setSpan(backgroundColorSpan,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述
4、StrikethroughSpan设置删除线效果

val spannableString=SpannableString("啥是佩奇啊")
val span=StrikethroughSpan() // 设置删除线spannableString.setSpan(span,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述

5、UnderlineSpan设置下划线效果

val spannableString=SpannableString("啥是佩奇啊")
val span=UnderlineSpan() // 设置下划线spannableString.setSpan(span,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述

6、StyleSpan设置接粗及倾斜样式

val spannableString=SpannableString("啥是佩奇啊")
val span=StyleSpan(Typeface.BOLD)// 设置加粗
val span2=StyleSpan(Typeface.ITALIC) // 设置倾斜val span3=StyleSpan(Typeface.BOLD_ITALIC) // 设置加粗并倾斜spannableString.setSpan(span,0,2,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
spannableString.setSpan(span2,2,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
spannableString.setSpan(span3,4,spannableString.length,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
tv_hint.text=spannableString

效果图
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值