SpannableStringBuilder

使用这个类可以改变textview中的文字的样式, 比如颜色, 大小, 下划线等等.

一:TextView组件改变部分文字的颜色:

Java代码  

  1. TextView textView = (TextView)findViewById(R.id.textview);
  2. //方法一:
  3. textView.setText(Html.fromHtml("<font color=\"#ff0000\">红色</font>其它颜色"));
  4. //方法二:
  5. String text = "获得银宝箱!";
  6. SpannableStringBuilder style=new SpannableStringBuilder(text);
  7. style.setSpan(new BackgroundColorSpan(Color.RED),2,5,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置textview的背景颜色
  8. style.setSpan(new ForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置文字的颜色
  9. textView.setText(style);

二:android string.xml文件中的整型和string型代替:

Java代码  

  1. String text = String.format(getResources().getString(R.string.baoxiang), 2,18,"银宝箱");

对应的string.xml文件参数:

Xml代码  

  1. <string name="baoxiang">您今天打了%1$d局,还差%2$d局可获得%3$s!</string>

%1$d表达的意思是整个name=”baoxiang”字符串中,第一个整型

在项目开发者,经常需要把以上两者结合起来使用。可以避免很多textview的拼接,如下所示:

Java代码  

  1. TextView textView = (TextView)findViewById(R.id.testview);
  2. String text = String.format(getResources().getString(R.string.baoxiang), 2,18,"银宝箱");
  3. int index[] = new int[3];
  4. index[0] = text.indexOf("2");
  5. index[1] = text.indexOf("18");
  6. index[2] = text.indexOf("银宝箱");
  7. SpannableStringBuilder style=new SpannableStringBuilder(text);
  8. style.setSpan(new ForegroundColorSpan(Color.RED),index[0],index[0]+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
  9. style.setSpan(new ForegroundColorSpan(Color.RED),index[1],index[1]+2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
  10. style.setSpan(new BackgroundColorSpan(Color.RED),index[2],index[2]+3,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
  11. textView.setText(style);  

    来源: <http://blog.csdn.net/ljz2009y/article/details/23878669>

来自为知笔记(Wiz)

时间: 2024-10-22 02:18:27

SpannableStringBuilder的相关文章

输入金额,SpannableStringBuilder,Dialog无主题和透明背景的使用

转载请注明出处:http://blog.csdn.net/forwardyzk/article/details/43308573 整理了开发汇中遇到的一些小细节. 1.在EditText中输入金额,只能输入正确的金额格式,例如:0.01,0.1,0,123,123.0,123.01 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too

SpannableStringBuilder 用法浅析以及仿陌陌表情

SpannableStringBuilder  官方文档解释:这个类可以使文本的内容和标记都可以改变.当我们要为TextView或者Edittext里面的文字加入加入一些效果,如下划线,颜色标 识,超链接等,类似word文档一样.这时候可以用到SpannableStringBuilder ,SpannableStringBuilder是 android.text里面的一个类,功能灰常强大.主要的一个方法就是setSpan (Object what, int start, int end, int

SpannableString与SpannableStringBuilder使用

转自:http://blog.it985.com/14433.html1.SpannableString.SpannableStringBuilder与String的关系 首先SpannableString.SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示出来,比如在原来String上加下划线.加背景色.改

【Android的从零单排开发日记】之入门篇(十五)——TextView+SpannableStringBuilder

TextView是控件中最最基础的一个控件,也是最简单的一个控件.但如果仅此,我不会专门为TextView写一篇文章.最近发现了Android中有趣的一个类,那就是标题上写的SpannableStringBuilder.那么它是个什么东西呢?它可以为你的文字加上各种效果,像变色,各种符号,斜体,图片替换,高亮等等.如果想要文字加上一点常见的效果,我们大可不必再自己去写一个自定义的View,使用SpannableStringBuilder就能满足你的需求了. 一.TextView 首先是TextV

【转】Android TextView SpannableStringBuilder 图文混排颜色斜体粗体下划线删除线

spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");           //用颜色标记文本         ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,                   //setSpan时需要指定的 flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIV

android 你所不知道的类SpannableStringBuilder的总结--实现图文混排,查看更多,下划线等等

今天无意中看到的一个类SpannableStringBuilder,查了下感觉很牛叉: 1.看下实现的效果 第一种 引用自:使用android SpannableStringBuilder实现图文混排,查看更多 第二种 实现的代码见   使用的模板 2.简单的使用模板: 引用自  http://blog.it985.com/14433.html public class MainActivity extends Activity implements OnClickListener { priv

android 字符设置之SpannableStringBuilder

在一行字符串中可以做很多事情. // 1和3代表设置字体的开始位置和结束位置. private void settext() { SpannableStringBuilder style=new SpannableStringBuilder("欢迎使用金太阳"); style.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)),4,6,Spannable.SPAN_EXCLUSIVE_EXCLUS

【转载】 SpannableString与SpannableStringBuilder

一.概述 1.SpannableString.SpannableStringBuilder与String的关系 首 先SpannableString.SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在 于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示出来,比如在原 来String上加下划线.加背景色.改变字体颜色.用图片把指定的文字给替换掉,等等.所以,总

文字效果和表情图片:JAVA正则表达式 Pattern和Matcher、SpannableString与SpannableStringBuilder

在TextView和EditText加入表情或者设置文字效果可以使用: JAVA正则表达式 Pattern和Matcher SpannableString与SpannableStringBuilder