Android中TextView局部变色功能实现

 更新时间:2017年12月24日 14:13:59   作者:youngmy5  
这篇文章给大家详细讲解了一下Android中TextView实现部分文字不同颜色的功能实现过程,有这方面需要的朋友们一起学习下吧。

在做项目的时候,遇到过一行文字有两种颜色。在菜鸟的时候直接会想到用多个TextView来实现。后来自己学的多了就找到了更为简单的方法了。

直接上代码:

方法一:

xml代码片段:

<TextView
    android:id="@+id/tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

Java代码片段:

TextView tv=(TextView)findViewById(R.id.tv);
String str="默认颜色<font color='#FF0000'>红颜色</font>";
tv.setTextSize(18);
tv.setText(Html.fromHtml(str));

效果图如下:

当然,还可以改变两种颜色的文字的大小。

Java代码片段:

extView tv=(TextView)findViewById(R.id.tv);
String str="默认颜色<font color='#FF0000'><small>红颜色</small></font>";
tv.setTextSize(18);
tv.setText(Html.fromHtml(str));

效果图如下:

好的,就这样子了。一个小功能就完成了。

方法二:

用SpannableString来实现。

Java代码片段:

SpannableString spannableString = new SpannableString("默认颜色红颜色");
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 4,spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(spannableString);

其中,”默认颜色红颜色” 为你要改变的文本。setSpan方法有四个参数,ForegroundColorSpan是为文本设置前景色,也就是文字颜色。如果要为文字添加背景颜色,可替换为BackgroundColorSpan。4为文本颜色改变的起始位置,

spannableString.length()为文本颜色改变的结束位置。最后一个参数为布尔型,可以传入以下四种。

Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到终了下标,包括起始下标

Spanned.SPAN_INCLUSIVE_INCLUSIVE 从起始下标到终了下标,同时包括起始下标和终了下标

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 从起始下标到终了下标,但都不包括起始下标和终了下标

Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到终了下标,包括终了下标

以上是本次我们给大家整理的关于Android中TextView局部变色功能实现的全部内容,更多内容大家可以在脚本之家里搜索你需要的文章,感谢你的支持。

相关文章

  • Android事件分发机制深入刨析原理及源码

    Android事件分发机制深入刨析原理及源码

    Android 的事件分发机制大体可以分为三部分:事件生产、事件分发 、事件消费。事件的生产是由用户点击屏幕产生,我们这次着重分析事件的分发和消费,因为事件分发和处理联系的过于紧密,这篇文章将把事件的分发和消费放在一起分析
    2023-04-04
  • Android实现头像上传功能

    Android实现头像上传功能

    这篇文章主要为大家详细介绍了Android实现头像上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android开发笔记之:消息循环与Looper的详解

    Android开发笔记之:消息循环与Looper的详解

    本篇文章是对Android中消息循环与Looper的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Flutter音乐播放插件audioplayers使用步骤详解

    Flutter音乐播放插件audioplayers使用步骤详解

    audioplayers是一个可以支持同时播放多个音频文件的Flutter的插件,可以播放多个同时的音频文件,这篇文章主要介绍了audioplayers的使用步骤,感兴趣想要详细了解可以参考下文
    2023-05-05
  • android使用videoview播放视频

    android使用videoview播放视频

    这篇文章主要介绍了Android利用自带VideoView控件播放视频的示例,需要的朋友可以参考下
    2014-02-02
  • Android WebView实现全屏播放视频

    Android WebView实现全屏播放视频

    WebView是Android系统中的原生控件,其主要功能与前端页面进行响应交互,快捷省时地实现如期的功能,相当于增强版的内置浏览器。这篇文章主要介绍的是利用WebView实现全屏播放视频的功能,感兴趣的小伙伴可以了解一下
    2021-12-12
  • Android开机自启动程序详解

    Android开机自启动程序详解

    本篇文章是对Android开机自启动程序进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 基于Android实现一个简易音乐播放器

    基于Android实现一个简易音乐播放器

    在Android平台上开发一个音乐播放器是一项常见的任务,这涉及到对音频文件的处理、用户界面设计以及多媒体框架的运用,本项目基于样例代码进行扩展,虽然功能相对简单,但包含了Android音乐播放器开发的核心知识点,需要的朋友可以参考下
    2024-08-08
  • 安装android开发环境原始版(windows版)

    安装android开发环境原始版(windows版)

    安装android开发环境原始版(windows版)的详细步骤
    2013-03-03
  • Android开发在RecyclerView上面实现

    Android开发在RecyclerView上面实现"拖放"和"滑动删除"-2

    这篇文章主要介绍了Android开发在RecyclerView上面实现"拖放"和"滑动删除"(二)功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03

最新评论