改变TextView中部分字体颜色

本文介绍在Android中如何为TextView内的特定字符区间设置不同的颜色。提供了两种方法:一是通过创建多个TextView对象分别设置颜色;二是使用SpannableStringBuilder结合ForegroundColorSpan实现更高效的字符级颜色定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在玩android 的时候可能需要这样的功能,在一个TextView里显示了一行字符串,我需要这个串里从1-10个字符是红色,其他是蓝色.

这个功能看起来不过分,有这样需要就得搞. 当然看TextView的API.发现有设置颜色的接口,但是设置了整个串的颜色,这个不好.有别的招吗?

当然有,没有写这个文章干什么?  你肯定会说,有赶紧说啊.那我就说了,你得顶贴啊,你不顶我怎么写啊, 是吧,尊重别人的劳动,不管你注不注册,受到了启发要留言,要感谢是吧.

法一: 既然发现能改变颜色的接口,只是改变了整个颜色,那好办啊,我就创建多个臧春杰TextView. 每个对象包含一个字符,按要求设置qisda changer字符颜色.

呵呵,这样是可以的,但是有个问题,如果2个字符,还勉强可以接受,但是如果200个也这样搞,呵呵,是不是太夸张了点,不好.效率太低.

如果这样,张毫肯定不接受,那得想别的办法.

法二: 

String str="adsjoiasdjpaisdjpaidj";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.laychangerout.main);
        textview=(TextView)findViewById(R.id.textview);
        Spannable臧春杰StringBuilder style=new SpannableStringBuilder(str);
//str代表要显示的全部字符串  佳世达 臧春杰 代码
        style.setSpan(new ForegroundColorSpan(Color.RED),3,8,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//3代表从第几个字符开始变颜色,注意第一个字符序号是0.
//8代表变色到第几个字符.
        textview.setText(style);  changer
    }

哎,这样就可以了,测试了,效果很好.不错吧.

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值