zoukankan      html  css  js  c++  java
  • android textview改变部分文字的颜色和string.xml中文字的替换(转)

    转   :http://blog.csdn.net/ljz2009y/article/details/23878669

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

    Java代码  收藏代码
    1. TextView textView = (TextView)findViewById(R.id.textview);  
    2.   
    3. //方法一:  
    4. textView.setText(Html.fromHtml("<font color="#ff0000">红色</font>其它颜色"));  
    5.   
    6. //方法二:  
    7.  String text = "获得银宝箱!";  
    8.  SpannableStringBuilder style=new SpannableStringBuilder(text);     
    9.   style.setSpan(new BackgroundColorSpan(Color.RED),2,5,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置textview的背景颜色  
    10.   style.setSpan(new ForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     //设置指定位置文字的颜色  
    11.   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的拼接,如下所示:

    1. TextView textView = (TextView)findViewById(R.id.testview);  
    2.   
    3. String text = String.format(getResources().getString(R.string.baoxiang), 2,18,"银宝箱");  
    4.        int index[] = new int[3];  
    5.        index[0] = text.indexOf("2");  
    6.        index[1] = text.indexOf("18");  
    7.        index[2] = text.indexOf("银宝箱");  
    8.   
    9.  SpannableStringBuilder style=new SpannableStringBuilder(text);     
    10.            style.setSpan(new ForegroundColorSpan(Color.RED),index[0],index[0]+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);      
    11.            style.setSpan(new ForegroundColorSpan(Color.RED),index[1],index[1]+2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);      
    12.            style.setSpan(new BackgroundColorSpan(Color.RED),index[2],index[2]+3,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
    13.            style.setSpan(new AbsoluteSizeSpan(30),index[0],index[1],index[1]+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);     //设置字体大小
    14.            textView.setText(style);  
  • 相关阅读:
    题目1.A乘以B
    题目1.A乘以B
    秋季学习总结
    题目1.A乘以B
    第一周作业
    C语言I博客作业02
    Silverlight中图像的变换(1)
    SQL SERVER 2005安装过程中COM+错误解决!
    c++ 对文件的操作
    JS标准DES加解密
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/5825663.html
Copyright © 2011-2022 走看看