为TextView设置不同的字体大小和颜色

原创 2016年05月31日 10:03:58


问题描述:有时候需要为一个TextView设置不同的颜色和字体大小,这是怎么办呢?

问题解答:

  1. 首先先在styles.xml文件中定义你需要的样式,可以设置大小、颜色等。如:

<style name="style0">

    <item name="android:textSize">20sp</item>

    <item name="android:textColor">@color/black</item>

</style>



<style name="style1">

    <item name="android:textSize">17sp</item>

    <item name="android:textColor">@color/gray</item>

</style>
  1. 在代码中添加如下代码:

if (goods.getPack()!=null&&!goods.getPack().isEmpty()){

    //TextView设置不同的字体大小和颜色

    SpannableString styledText = new SpannableString(goods.getName()+"  "+goods.getPack());

    styledText.setSpan(new TextAppearanceSpan(mContext, R.style.style0), 0, goods.getName().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    styledText.setSpan(new TextAppearanceSpan(mContext, R.style.style1), goods.getName().length()+2, goods.getName().length()+goods.getPack().length()+2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    name.setText(styledText, TextView.BufferType.SPANNABLE);

}else{

    name.setText(goods.getName());

}

 

 

 

 

 

如果你只是需要设置文字的样色,可以考虑使用html

/**

 * 采用HTML为标题设置不同颜色

 * @param pack 包装

 * @param name 产品名

 * @return

 */

private String getColorString(String name,String pack){

    return "<font color=\"#323232\">" + name + "</font>"+"<font color=\"#939393\" font-size:10px>" + pack + "</font>" ;

}

调用方法设置字体颜色

name.setText(Html.fromHtml(getColorString(goods.getName(),goods.getPack())));

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android 一个 textview 设置不同的字体大小和颜色

在实际应用中,需要将一个字符串已不同的颜色,字体显示出来。当然完全可以通过不同textview拼接出来。也可以通过一个textview来展示。 步骤如下:       1.定义不同style . 不妨...

android小技巧之TextView设置不同字体大小及样式

1. 设置不同大小先看效果 ![这里写图片描述](http://img.blog.csdn.net/20160305120047030)附上代码 java tvText = (TextView) ...

一个TextView 设置两种字体颜色和大小

项目中用到一个需求,实现效果是这样的:     我是知识点我是知识点我是知识点我是知识点  【题】 要求这样的:1、这个化学知识点名字不固定长度 2、题子要是红色,比知识点字体小 3、要挨到化...
  • nnmmbb
  • nnmmbb
  • 2015年10月23日 11:02
  • 4654

Android TextView 实现文字大小不同和文字颜色不同

效果图如下: 关键代码如下: StringBuffer sb = new StringBuffer(); if(day > 0) { ...

Android中对同一个TextView设置不同字体样式

这个只是做一个笔记,详情见wad

【Android---项目中】TextView设置字体样式及粗细

通过布局设置: android:textStyle="bold" android:typeface="sans" 在Android SDK中使用Typeface...
  • tablle
  • tablle
  • 2016年07月01日 18:23
  • 17702

一个textview显示不同zize大小的文本

需求 类似于上图   首先思路一 : 采用两个textview 左右分开写  这样也可以实现  ,本人一直比较懒惰,喜欢思考一些特别的做法。 思路二: 采用html标签,使用类...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android的TextView中显示不同大小字体的玩法

方法一、用Spannable类设置字体大小,背景颜色,字体颜色等。 方法二、用html文本格式化的方法。 设置TextView文本的背光色,以及羽化值和xy方向的偏移量。...
  • Qyuewei
  • Qyuewei
  • 2015年12月16日 14:09
  • 647

Android中TextView中的字体大小能设置吗?

android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@strin...
  • a3895177
  • a3895177
  • 2011年07月10日 22:54
  • 85090
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为TextView设置不同的字体大小和颜色
举报原因:
原因补充:

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