Android textview 同时改变字符串中部分字体的颜色与大小

Android TextView 改变字体主要有两种方法:

1、Html.fromHtml 获取一个用html格式表示的Spanned。

2、另一种方式是直接构造使用一个Spanned。

若要同时改变字符串中部分字体的颜色与大小,采用第一种方式 html.fromHtml,用font标签来实现时,不幸的是Android中对font的属性只支持color与face,但不支持size。那么完全使用font标签的html,是实现不了了。

使用html改变字体大小的,可以尝试<small>或<h1>...<h5>之类的标签,但是不能指示具体数字的size大小。

采用第二种方式就很简单,比较容易实现了,如下示例:

        ColorStateList redColors = ColorStateList.valueOf(0xffff0000);
        SpannableStringBuilder spanBuilder = new SpannableStringBuilder("这是一个测试");
        //style 为0 即是正常的,还有Typeface.BOLD(粗体) Typeface.ITALIC(斜体)等
        //size  为0 即采用原始的正常的 size大小
        spanBuilder.setSpan(new TextAppearanceSpan(null, 0, 60, redColors, null), 0, 3, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);

        TextView tv_test = (TextView) findViewById(R.id.tv_test);
        tv_test.setText(spanBuilder);

效果如下

时间: 2024-08-02 21:10:24

Android textview 同时改变字符串中部分字体的颜色与大小的相关文章

IOS 改变字符串中特定字符的颜色和大小。

UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 300)]; lable.text = @"其中俩字是红色,大小为17"; NSRange rangeRmb=[lable.text rangeOfString:[NSString stringWithFormat:@"红色"]]; NSMutableAttributedString *rmbStr=[[NSMutableAtt

Android 自定义Spinner字体、颜色、大小

昨天在公司项目中遇到Spinner颜色,字体,大小的困惑.所以今天也总结一下这方面知识.这个其实很简单,要改变字体,颜色以及大小,无非就是不要用系统自带的样式.自已例外写一个layout调用就行了.我就是这样做的.本文例子还有Spinner两种弹出方式,下拉框以及弹出框.加载数据源的两种方式.下面看代码介绍. 本文项目源码地址:http://download.csdn.net/detail/qq_16064871/8583085 转载请注明出处: http://blog.csdn.net/qq_

改变字符串中部分字符传的字体大小和颜色

- (void)viewDidLoad { NSRange range = [_amountLabel.text rangeOfString:@"0.00"]; [self setTextColor:_amountLabel FontNumber:[UIFont systemFontOfSize:13] AndRange:range AndColor:[UIColor orangeColor]]; } //设置不同字体颜色 -(void)setTextColor:(UILabel *)

Android—— TextView文字链接4中方法

转自:http://ghostfromheaven.iteye.com/blog/752181 Android 的实现TextView中文字链接的方式有很多种. 总结起来大概有4种: 1.当文字中出现URL.E-mail.电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是android:autoLink="all".当然也可以在java代码里做,textView01.setAutoLinkMask(Linkify.

iOS开发改变字符串中指定字符颜色,大小等等

NSString *strJTGZ = [NSString stringWithFormat:@"交通管制%d处 ",[jtgz intValue]]; NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc]initWithString:strJTGZ]; [attributedStr addAttribute:NSForegroundColorAttributeName value:[

AC自动机+DP 改变字符串中的‘?’使得在字典中匹配到的次数最多 codechef Lucy and Question Marks

Lucy and Question Marks Long ago Lucy had written some sentences in her textbook. She had recently found those her notes. But because of the large amount of time that had passed, some letters became difficult to read. Her notes are given to you as a

Android为TV端助力 外挂字幕(设置颜色,大小,位置,微调字幕)

前提摘要:  可以给电影加字幕,目前支持srt和ass格式, 功能摘要:  支持微调字幕,设置大小,颜色,位置 1 .字幕解析类 package com.hhzt.iptv.lvb_x.utils; import android.os.Handler;import android.util.Log; import com.hhzt.iptv.lvb_x.Constant;import com.hhzt.iptv.lvb_x.log.LogUtil;import com.hhzt.iptv.lvb

WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

本文转载:http://www.cnblogs.com/umplatform/archive/2012/08/29/2660240.html 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件进行控制,但对于WinForm则没有这样方便.申明一下,我在这儿所说的改变当前节点的字体与颜色,主要是在WinForm中的TreeView控件,当前选中节点后,其失去鼠标焦点后节点的字体与颜色失去了选中状态,层级一多,我们就不知道当前

android 从assets和res中读取文件(转)

1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件.在后面会介绍如何读取assets文件夹的资源! res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容): 目录Directory 资源类型Resource Types res/anim/ XML文件,它们被编译进逐帧动画