Android 实现不同字体颜色的TextView实现代码

Android 实现不同字体颜色的TextView

遇到的需求,mark一下。

实现代码:

package com.chuck.recyclerviewdemo; import android.content.Context; import android.graphics.Canvas; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.util.AttributeSet; import android.widget.TextView; import java.util.List; /** * 项目名称:trunk * 类描述: * 创建人:Administrator * 创建时间:2015/12/10 14:05 * 修改人:Administrator * 修改时间:2015/12/10 14:05 * 修改备注: */ public class DifferentColorTextView extends TextView{ public DifferentColorTextView(Context context) { super(context); } public DifferentColorTextView(Context context, AttributeSet attrs) { super(context, attrs); } public DifferentColorTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } public void setDifferentColorText(List<String> text,List<Integer>colors){ setText(calculateResidue(text,colors)); } /**显示不同颜色*/ private SpannableStringBuilder calculateResidue(List<String> text, List<Integer>colors) { if(text==null||colors==null){ return null; } StringBuilder sb =new StringBuilder(); for (int i=0;i<text.size();i++){ sb.append(text.get(i)); } SpannableStringBuilder ssb=new SpannableStringBuilder(sb.toString()); int begin=0; for (int i=0;i<text.size();i++){ ForegroundColorSpan mSpan = new ForegroundColorSpan(colors.get(i)); ssb.setSpan(mSpan,begin,begin+text.get(i).length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); begin=begin+text.get(i).length(); } return ssb; } }

   实现同一textView,不同颜色。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-11-13 08:19:16

Android 实现不同字体颜色的TextView实现代码的相关文章

fonts-修改android按钮的字体颜色

问题描述 修改android按钮的字体颜色 在应用中有自定义button.想修改一下颜色,不知道怎么实现?我的代码: public class CustomButton extends Button { public CustomButton(Context context AttributeSet attrs int defStyle) { super(context attrs defStyle); init(); } public CustomButton(Context context

Android开发改变字体颜色方法_Android

在TextView中添加文本时有时会改变一些文本字体的颜色,今天主要分享三种实现方法及相关优缺点. 1.通过html标签改变文本颜色 复制代码 代码如下: tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>")); 点评:通过Html.fromHtml()方法就可以在字符串中使用html的标签,通过font标签可以改变字体的格式.麦子学院-国内最专业的IT在线教育平台. 2.在act

Android修改DatePicker字体颜色及分割线颜色详细介绍

一.DatePicker和TimePicker简介 DatePicker是一个日期选择控件,它继承自FrameLayout类,用来实现的主要功能是使用护可以方便选择日期.如果要捕获用户修改DataPicker控件中的数据改变事件,需要为DatePicker添加OnDateChangedListener监听器. TimePicker是一个时间选择控件,也继承自FrameLayout类.时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM制),并允许用户进行选择.如果要捕获用户修改

Android手机修改字体颜色大小的教程

http://www.androidonlines.com/a/jiaocheng/2012/0614/4457.html

TextView法改变字体颜色

问题描述 TextView法改变字体颜色 用TabLayout+ViewPager,实现了导航,pager使用了两个Fragment.在Fragment实现布局的时候添加了多个TextView,在预览状态可以看到字体颜色的修改是成功的,但是当程序运行起来后发现,页面无任何文字.然后给TextView添加背景色,运行发现字体颜色是白色的,之前因为背景也是白色,没显示出来,之后有尝试修改,发现无论怎么修改都**无法改变字体颜色,只能为白色**. 最后发现,在代码中可以设置文字的颜色,但是这样的话很不

fragmentactivity-为什么没有法改变TextView的字体颜色?

问题描述 为什么没有法改变TextView的字体颜色? package com.like.duoroulianmeng; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.ap

vb mschart 字体颜色-关于VB的MSChart控件中显示标签文本颜色的问题?

问题描述 关于VB的MSChart控件中显示标签文本颜色的问题? 我的目标是显示两条温度-时间曲线,一条是实际值(红色),一条是设定值(蓝色),两条线的颜色不同,字体与曲线颜色相同,显示完成后,红色的曲线中,有几个点的字体颜色为黑色,代码如下: With MSChart1 .ChartType = VtChChartType2dLine .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False .Plot.Axis(VtChAxisIdY).ValueSca

关于用ChooseFont(&amp;amp;amp;CHOOSEFONT)对话框改变字体颜色的问题

问题描述 关于用ChooseFont(&CHOOSEFONT)对话框改变字体颜色的问题 部分代码如下:用settextcolor无法改变字体颜色,求教大神,我在学windows程序设计,谢谢 GetObject(GetStockObject(SYSTEM_FONT)sizeof(lf)&lf); cf.lStructSize = sizeof(CHOOSEFONT); cf.hwndOwner = hwnd; cf.hDC = NULL; cf.lpLogFont = &lf; c

Android编程实现TextView字体颜色设置的方法小结_Android

本文实例讲述了Android编程实现TextView字体颜色设置的方法.分享给大家供大家参考,具体如下: 对于setTextView(int a)这里的a是传进去颜色的值.例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去. 复制代码 代码如下: tv.setTextColor(this.getResources().getColor(R.color.red)); 关键字: android t