Android给TextView设置多个字体颜色

效果如下:

/** * @param textView * @param positions 变色的位置 * @param colors    多个颜色值,数量和positions的数量可以不一致,如果颜色值比位置值少,则是交叉来使用的 * @描述 设置一个textivew显示多种颜色 * @作者 tll * @时间 2016/11/11 10:37 */public static void setMultipleColor(TextView textView, List<Integer> positions, Integer... colors) {    if (isEmpty(positions)) {        return;    }    SpannableStringBuilder builder = new SpannableStringBuilder(textView.getText().toString());    for (int i = 0; i < positions.size(); i++) {        ForegroundColorSpan span = new ForegroundColorSpan(colors[i % colors.length]);        if (i == 0) {            builder.setSpan(span, 0, positions.get(i), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        } else {            builder.setSpan(span, positions.get(i - 1), positions.get(i), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        }    }    textView.setText(builder);}

使用方法:
text = (TextView) findViewById(R.id.text);List<Integer> positions = new ArrayList<>();positions.add(4);positions.add(6);positions.add(11);positions.add(13);positions.add(text.getText().toString().length());setMultipleColor(text, positions, getResources().getColor(R.color.color_353535), getResources().getColor(R.color.color_f67067));
 
时间: 2024-10-07 20:50:33

Android给TextView设置多个字体颜色的相关文章

(转)TextView 设置背景和文本颜色的问题

在做一个项目,突然遇到如下问题 比如:在color.xml中定义了几个颜色 <color name="white">#FFFFFF</color> <color name="orange">#DF8326</color> 复制代码 又给TextView 设置了字体颜色和背景色 <TextView android:id="@+id/hello" android:textColor="@

Android给TextView设置透明背景、圆角边框

第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建text_view_border.xml [java] view plaincopy <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid an

Android RadioGroup的RadioButton 选择改变字体颜色和背景颜色

RadioGroup <RadioGroup android:id="@+id/client_charge_radiogroup" android:layout_width="200dp" android:layout_height="40dp" android:layout_marginLeft="5dp" android:layout_alignParentRight="true" android

如何设置报表中字体颜色20140901

如何设置报表中字体颜色: 问题:1.一般我们做报表有时需要根据某个字段的值来高亮或者显示不同颜色字体,让报表更加直观,那么该如何设置呢? 方案: 1.选中该字段,右击--[文本属性] 2.选择[字体]--[颜色(表达式Fx)] 3.打开表达式界面,如下 4.输入判断的表达式,需要注意这里判断的函数是: IFF(a>b,aa,bb),这里是VB的语法 5.运行报表,可以看到报表的展示

ASP.Net ListBox DropdownList 不同条目设置背景色和字体颜色( 转&#183; 载 )

ASP.Net ListBox DropdownList 不同条目设置背景色和字体颜色 2009-09-30  来自:真有意思 [ZU14.CN]  字体大小:[大 中 小] 摘要:在HTML展现页面上,对于html 的 select, 服务器端控件 dropdownlist, 有时需要根据不同的情况,对某些 option 项,设置不同的颜色和不同的背景色,来以示区别, 对于 HTML 控件 SELECT, 是轻而易举的,只要指定 style 即可,对于服务器端控件,因为不能直接指定style或

android自定义控件实现TextView按下后字体颜色改变

今天跟大家分享一下Android自定义控件入门,先介绍一个简单的效果TextView,按下改变字体颜色,后期慢慢扩展更强大的功能 直接看图片             第一张是按下后截的图,功能很简单,也很容易实现,下面来看一下如何通过重写TextView来实现 一共三个文件  TextViewM.java,MainActivity.java,activity_textview.xml TextViewM.java 1 package landptf.control; 2 3 import and

【Android】 TextView设置个别字体样式

1 SpannableString msp = new SpannableString("测试"+XM+"更换当前号码将从手机发送一条普通短信进行验证"); 2 msp.setSpan(new ForegroundColorSpan(Color.BLUE), 2, XM.length()+2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 印象中的TextView: TextView 就是用于显示文本的控件,可以在布局文件中通过 androi

Android中TextView设置字体

最近项目中出现把字体设置成宋体,微软雅黑,黑体,楷体等的需求; 度娘发现Android系统默认支持三种字体,分别为:"sans", "serif", "monospace",除此之外还可以使用其他字体文件(*.ttf) 代码如下: //得到TextView控件对象        TextView textView =(TextView)findViewById(R.id.custom); //将字体文件保存在assets/fonts/目录下,创建

android.support.v7.widget.SearchView 修改字体颜色

问题描述:在v4扩展包下的searchView网上通常采用  int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);  TextView textView = (TextView) searchView.findViewById(id);  textView.setTextColor(Color.WHITE);来改变字体颜色,但是在v