android 不同行字体不同颜色,android中TextView同一行显示不同颜色文字

本文介绍两种在Android应用中使用HTML和SpannableStringBuilder改变TextView文字颜色的方法,分别是直接使用HTML字符串和通过设置前景色和背景色的Span。

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

方法一:利用html

import android.app.Activity;

import android.os.Bundle;

import android.text.Html;

import android.widget.TextView;

public class MainActivity extends Activity {

/** 利用HTML语言,改变文字颜色 */

private void init() {

String str = "中软"

+ "国际";

TextView tv = new TextView(this);

tv.setText(Html.fromHtml(str));

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

init();

}

}

方法二:

textView = (TextView) findViewById(R.id.textview);

SpannableStringBuilder builder = new SpannableStringBuilder(textView.getText().toString());

//ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色

ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);

ForegroundColorSpan whiteSpan = new ForegroundColorSpan(Color.WHITE);

ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE);

ForegroundColorSpan greenSpan = new ForegroundColorSpan(Color.GREEN);

ForegroundColorSpan yellowSpan = new ForegroundColorSpan(Color.YELLOW);

builder.setSpan(redSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

builder.setSpan(whiteSpan, 1, 2, Spannable.SPAN_INCLUSIVE_INCLUSIVE);

builder.setSpan(blueSpan, 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

builder.setSpan(greenSpan, 3, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

builder.setSpan(yellowSpan, 4,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

textView.setText(builder);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值