Android 实现部分文字高亮的三种方法

Android 实现部分文字高亮的三种方法


1.利用SpannableString、SpannableStringBuilder 实现

textview=(TextView)findViewById(R.id.textview);
SpannableStringBuilder style=new SpannableStringBuilder(strs);
style.setSpan(new BackgroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.RED),7,9,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
textview.setText(style);

详细用法参考:http://blog.csdn.net/harvic880925/article/details/38984705 


2.利用一个容易遗忘的Html.fromhtml方法,意思是可以将比如文本框中的字符串进行HTML格式化

先在Sting文件中定义一个html代码的字符串,如:
"<font color='#e87400'>测试</font>"

Java代码
TextView view = (TextView)findViewById(R.id.sampleText);
String formattedText = getString(R.string.htmlFormattedText);
Spanned result = Html.fromHtml(formattedText);
view.setText(result);

或者是这样写:
view.setText(Html.fromHtml("<u>今天礼拜五</u>"));


3.利用开源库 HighlightTextView (https://github.com/angcyo/HighlightTextView)


使用方法:

下载项目
compile project(':highlighttextview')

xml可用属性
app:highlight_position="4"                  高亮开始的位置
app:highlight_num="3"                       高亮的个数
app:highlight_color="@color/colorAccent"    高亮的颜色
        
可用方法
highlightTextView.setHighlightPosition(2);
highlightTextView.setHighlightNum(3);
highlightTextView.setHighlightColor(Color.MAGENTA);


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android平台上的音频文字高亮可以通过使用SpannableString类来实现。SpannableString是一个可以在文本上添加样式和格式的类。 首先,我们需要创建一个SpannableString对象,该对象是用于控制文字的样式和格式的。然后,使用setSpan方法来设置需要高亮文字部分以及对应的样式。 要高亮文字,可以使用ForegroundColorSpan类来设置文字的前景色。例如,可以使用下面的代码将文字的前景色设置为红色: ```java SpannableString spannableString = new SpannableString("这是一段需要高亮文字"); ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED); spannableString.setSpan(colorSpan, 0, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ``` 以上代码中,"这是一段需要高亮文字"这段文字的前8个字符将会被设置为红色。其中,第三个参数0表示要设置样式的文字的起始位置,第四个参数8表示要设置样式的文字的结束位置。最后一个参数Spanned.SPAN_EXCLUSIVE_EXCLUSIVE表示设置的样式只作用于起始和结束位置之间的文字。 除了设置前景色之外,还可以使用其他的样式类来实现不同的高亮效果,比如BackgroundColorSpan来设置文字的背景色,ClickableSpan来设置文字的点击效果等等。 最后,将高亮后的SpannableString对象应用到相应的UI控件上,比如TextView,这样高亮文字就会在界面上显示出来。 以上就是使用SpannableString类来实现Android音频文字高亮的一种方式。根据实际需求,还可以结合其他的样式类来实现更多的效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值