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

 更新时间:2017年05月26日 17:23:39   作者:ChuckChenLw  
这篇文章主要介绍了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,不同颜色。

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

相关文章

  • Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

    Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

    Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子,需要的朋友可以参考一下
    2013-05-05
  • Android中Intent习惯用法

    Android中Intent习惯用法

    这篇文章主要介绍了Android中Intent习惯用法,演示了如何在Android中利用Intent进行拍照、摄像、打电话、发短信、发邮件等,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 福利来了!带你“爱上Android”

    福利来了!带你“爱上Android”

    送书!一言不合就送书,《爱上Android》一书深入浅出,详细讲解了Android开发的知识,带着大家爱上Android,带领大家开启真正的Android开发之旅
    2017-08-08
  • Android中自定义ContentProvider实例

    Android中自定义ContentProvider实例

    应用A(TestBaidu)调用另外一个应用(TestContentProvider)中的自定义ContentProvider,具体实现如下,感兴趣的朋友可以参考下哈
    2013-06-06
  • Android开发中Activity属性设置小结

    Android开发中Activity属性设置小结

    Android应用开发中会经常遇到Activity组件的使用,下面就来讲解下Activity组件。Activity的生命周期、通信方式和IntentFilter等内容,并提供了一些日常开发中经常用到的关于Activity的技巧和方法。通过本文,你可以进一步了接Android中Activity的运作方式。
    2015-05-05
  • android 定时启动\取消小例子

    android 定时启动\取消小例子

    本文为大家讲解下android实现定时启动\取消的具体实现方式,感兴趣的朋友可以参考下哈
    2013-06-06
  • Android数据缓存框架内置ORM功能使用教程

    Android数据缓存框架内置ORM功能使用教程

    这篇文章主要为大家介绍了Android数据缓存框架内置ORM功能使用教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 使用Kotlin开发Android应用教程

    使用Kotlin开发Android应用教程

    这篇文章主要为大家详细介绍了使用Kotlin开发Android应用的教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • android listview初步学习实例代码

    android listview初步学习实例代码

    这篇文章主要介绍了android listview初步学习实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • android中gzip数据压缩与网络框架解压缩

    android中gzip数据压缩与网络框架解压缩

    这篇文章主要为大家介绍了android中gzip数据压缩与网络框架解压缩实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论