设置部分文字背景高亮显示:
public class HighLightActivity extends Activity {
String strs="我的心太乱了,给我点空白。";
TextView textview;
int start =3;
int end = 5;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.high_light);
textview=(TextView)findViewById(R.id.textview);
SpannableStringBuilder style=new SpannableStringBuilder(strs);
style.setSpan(new BackgroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.setText(style);
}
}
显示效果:
同时设置文字和背景高亮显示:
package com.justel.contact;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.widget.TextView;
public class HighLightActivity extends Activity {
String strs="我的心太乱了,给我点空白。";
TextView textview;
int start =3;
int end = 5;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.high_light);
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);
}
}
显示效果:
参数说明:
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
API里面解释:Spans of type SPAN_EXCLUSIVE_EXCLUSIVE do not expand to include text inserted at either their starting or ending point. They can never have a length of 0 and are automatically removed from the buffer if all the text they cover is removed.
即在原文本头或尾追加新文本的样式不受原文本样式影响,原文本高亮,新追加文本不高亮。
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
API里面解释:Non-0-length spans of type SPAN_INCLUSIVE_EXCLUSIVE expand to include text inserted at their ending point but not at their starting point. When 0-length, they behave like points.
即在原文本尾追加新文本的样式受原文本样式影响,原来文本尾高亮,新追加文本也高亮。
- 大小: 14.8 KB
- 大小: 14.3 KB
分享到:
相关推荐
android控件详解----TextView
Android 设置textview某段字体颜色或者背景
android实现TextView文字部分渐变色;LinearGradientFontSpan SpannableString
NULL 博文链接:https://lxmgfd.iteye.com/blog/1143676
EmphasisTextView - 支持部分文字高亮的 TextView
用Label处理TextView并实现单击显示更多行
Android-html-textview.zip,显示简单HTML内容的文本视图,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
关于TextView指定部分文字改变颜色,和指定部分文字点击事件的实现。
简单的Android Kotlin 库用于高亮显示TextView中的链接
旋转TextView文字显示方向,可参考学习一下。
设置view的圆角和背景一般都是在xml里面通过selector的配置文件来...在项目中有个需求,背景颜色是从网络获取的,而且要设置为圆角,想了一下,通过xml的形式貌似实现不了,只能通过代码分别设置,就只能重写Textview。
Android SpannableString实现TextView不同大小文字居中显示。
代码动态改变某些textview文本颜色及其大小的方式.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android TextView 个别文字字体颜色格式
主要介绍了Android实现在TextView文字过长时省略部分或滚动显示的方法,结合实例形式分析了Android中TextView控件文字显示及滚动效果相关操作技巧,需要的朋友可以参考下
android下textview 显示html片段,可以显示文字和图片混排,图片可以是网络图片
Android 一个TextView中设置不同字体大小和颜色
LinearGradient实现TextView字体渐变的效果
Android中带圆角以及不同背景颜色的TextView,如果使用xml实现的话针对不同的颜色需要写一个xml文件,这样太繁琐了,所以就自己写了一个控件,只要设置一下属性就可以达到想要的目的