textview 设置多个状态文字颜色

本文介绍如何在Android中使用Selector为UI元素设置状态依赖的颜色,并演示了一种实现TextView内局部文本变色的方法。

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

需要在res/color下 定义一个selector 我的代码如下

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#ff3333" android:state_selected="true"/>
    <item android:color="#ff3333" android:state_pressed="true"/>
    <item android:color="#333333"/>
</selector>

需要注意的是  顺序 很重要  如果把
<item android:color="#333333"/>

写在第一个的话  就不会有效果


textview里的文字局部变色的方法:

    /**
     * 文字局部变色
     */
    public void agreementLink(TextView textView, String text) {
        int start = text.indexOf(mContent);
        if (start < 0)
            textView.setText(text);
        SpannableStringBuilder spannable = new SpannableStringBuilder(
                text);// 用于可变字符串
        ForegroundColorSpan span = new ForegroundColorSpan(Color.parseColor("#ff3333"));
        spannable.setSpan(span, start, start + mContent.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(spannable);
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值