TextView部分字体颜色改变,并且点击进行跳转

代码如下,直接拿来用就可以
//设置部分字体改变颜色
public void getSpannableTextColor(TextView textView, String text, String keyword){
    Log.e("aaa","text--"+text+"keyword==>"+keyword);
    SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(text);
    if(text.contains(keyword)){
        int spanStartIndex = text.indexOf(keyword);
        int spanEndIndex = spanStartIndex+keyword.length();
        //改变字体颜色
        spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.argb(255,200,16,46)),
                spanStartIndex,spanEndIndex, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
        //跳转
        spannableStringBuilder.setSpan(new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                Toast.makeText(SubscriptionServiceActivity.this,"即将跳转",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setUnderlineText(false);//去掉下划线
            }
        },spanStartIndex,spanEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


    }
    textView.setText(spannableStringBuilder);

    textView.setMovementMethod(LinkMovementMethod.getInstance());//加上这句话,跳转才能成功



}

猜你喜欢

转载自blog.csdn.net/hanxiongwei/article/details/53897878
今日推荐