TextView设置部分文字背景色和文字颜色

原创 2015年07月09日 14:13:22
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String str="这是设置TextView部分文字背景颜色和前景颜色的demo!";
        int bstart=str.indexOf("背景");
        int bend=bstart+"背景".length();
        int fstart=str.indexOf("前景");
        int fend=fstart+"前景".length();
        SpannableStringBuilder style=new SpannableStringBuilder(str); 
        style.setSpan(new BackgroundColorSpan(Color.RED),bstart,bend,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
        style.setSpan(new ForegroundColorSpan(Color.RED),fstart,fend,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
        TextView tvColor=(TextView) findViewById(R.id.tv_color);
        tvColor.setText(style);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
  • AbsoluteSizeSpan(int size) —- 设置字体大小,参数是绝对数值,相当于Word中的字体大小
  • RelativeSizeSpan(float proportion) —- 设置字体大小,参数是相对于默认字体大小的倍数,比如默认字体大小是x, 那么设置后的字体大小就是x*proportion,这个用起来比较灵活,
  • proportion>1就是放大(zoom in), proportion<1就是缩小(zoom out)
  • ScaleXSpan(float proportion) —- 缩放字体,与上面的类似,默认为1,设置后就是原来的乘以proportion,大于1时放大(zoon in),小于时缩小(zoom out)
  • BackgroundColorSpan(int color) —-背景着色,参数是颜色数值,可以直接使用android.graphics.Color里面定义的常量,或是用Color.rgb(int, int, int)
  • ForegroundColorSpan(int color) —-前景着色,也就是字的着色,参数与背景着色一致
  • TypefaceSpan(String family) —-字体,参数是字体的名字比如“sans”,
  • “sans-serif”等StyleSpan(Typeface style) —–字体风格,比如粗体,斜体,参数是android.graphics.Typeface里面定义的常量,如Typeface.BOLD,Typeface.ITALIC等等。
  • StrikethroughSpan—-如果设置了此风格,会有一条线从中间穿过所有的字,就像被划掉一样

TextView设置部分文字颜色和点击事件

// String str = "123454564563"; SpannableStringBuilder builder = new SpannableStringBuilder(str); //...
  • you_see_what
  • you_see_what
  • 2016年08月22日 17:30
  • 1246

Android中TextView中部分文字有不同颜色的实现

开通博客也已有一段时间了,终于决定开始写一些自己在做项目的时候的一些见解。个人技术有限,不喜勿喷哈!如有写的不对的地方,欢迎大家多给建议。 在做项目的时候,遇到过一行文字有两种颜色。在菜鸟的时候直接会...
  • youngmy5
  • youngmy5
  • 2015年11月24日 14:20
  • 25988

关于TextView中,设置指定部分文字改变颜色,和指定部分文字点击事件

关于TextView中,设置指定部分文字改变颜色,和指定部分文字点击事件
  • u013676055
  • u013676055
  • 2016年03月05日 16:16
  • 6273

TextView图文混排,设置部分字体背景色

效果图如下:                                    一。实现方式              android对于TextView的图文混排有好几种方式,我采用的是...
  • qq_16782391
  • qq_16782391
  • 2017年06月01日 10:46
  • 551

Android 中TextView部分文字颜色、点击跳转设置

需要了这样一个需求:在点击提交按钮的之前,客户需要点击已阅读两个说明书。 实现如下:在一个textview中有两部分文字要颜色要与默认颜色不一样,并且可以点击,并跳转到不同的页面。 如下图:蓝色和...
  • zcw93219
  • zcw93219
  • 2015年03月16日 14:36
  • 1049

同一个TextView内不同文字、颜色、换行、下划线

1.TextView加下划线方法有两种, 第一种是mTxtRegister.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); 第二种是mTxtRe...
  • cuiyufeng2
  • cuiyufeng2
  • 2015年01月28日 14:51
  • 874

设置TextView部分文字下划线并响应点击事件(SpannableString)

实现效果textview中改变《服务条款》的颜色、增加下划线。实现关键点: SpannableString的使用 SpannableString spanText=new SpannableStri...
  • u014733374
  • u014733374
  • 2015年08月21日 15:53
  • 3155

通过选择器selector给TextView,Button设置字体颜色和背景颜色

背景颜色通过结合shape实现
  • qq_27853161
  • qq_27853161
  • 2017年03月14日 15:28
  • 1124

Android TextView 设置部分文字背景色和文字颜色(转)

通过SpannableStringBuilder来实现,它就像html里边的元素改变指定文字的文字颜色或背景色 public class MainActivity extends Activ...
  • qq_35247662
  • qq_35247662
  • 2017年08月24日 17:52
  • 92

语言控制台如何设置局部字体和背景的颜色

控制台程序也可以玩得很炫酷,下面我就来跟大家说说怎么样才能把黑框做得炫酷,以下截图是我以前自己写的程序,供大家参考。 上代码:: //引用头文件 #inclu...
  • flyingleo1981
  • flyingleo1981
  • 2017年03月24日 09:54
  • 419
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TextView设置部分文字背景色和文字颜色
举报原因:
原因补充:

(最多只允许输入30个字)