为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 . 不妨...
  • fengyoujie
  • fengyoujie
  • 2015年01月16日 21:54
  • 42528

Android 一个TextView中设置文字不同字体大小和颜色的最完整方法

在做项目的时候,经常会遇到过一行文字有两种颜色。有时候直接会想到用多个TextView来实现。今天就介绍一下更为简单的方法,用一个TextView实现。效果:这几个都实现了一行字有不同颜色,还有两个字...
  • SilenceOO
  • SilenceOO
  • 2017年08月15日 01:27
  • 1381

【菜鸟学安卓】- TextView的文字大小 setTextSize 和 getTextSize 设置

以我自己的手机为例:float fontScale = getResources().getDisplayMetrics().scaledDensity; System.out.println(...
  • wduj123
  • wduj123
  • 2016年05月03日 12:16
  • 3074

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

1. 设置不同大小先看效果 ![这里写图片描述](http://img.blog.csdn.net/20160305120047030)附上代码 java tvText = (TextView) ...
  • aohanyao
  • aohanyao
  • 2016年03月05日 12:02
  • 3194

textField使用合集(附字体设置合集)

//初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 1...
  • ganjicijiao
  • ganjicijiao
  • 2014年01月16日 11:37
  • 1794

同一个TextView设置不同的颜色和大小

//strategy1是一个TextView SpannableStringBuilder builder1 = new SpannableStringBuilder(strategy1.ge...
  • u010778159
  • u010778159
  • 2015年07月08日 09:08
  • 1474

将TextView设置根据dimens.xml中值设置字体大小

注意: TextView的setTextSize(float size))默认单位是sp,特别注意这个地方很容易犯错。 public void setTextSize(float size) { s...
  • zhuhai__yizhi
  • zhuhai__yizhi
  • 2016年02月16日 15:32
  • 872

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

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

我的Android成长之路(1)----TextView设置不同大小字体

TextView tv = (TextView) findViewById(R.id.main_text); Spannable sp = new SpannableString("字体大小测试")...
  • cuper_
  • cuper_
  • 2016年10月26日 10:59
  • 2291

设置字体大小

1.MyApp初始化(xml中进行配置) public class MyApp extends Application { //默认字体为zh中号 public static int fontI...
  • yy_nn
  • yy_nn
  • 2017年03月28日 09:20
  • 308
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为TextView设置不同的字体大小和颜色
举报原因:
原因补充:

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