cuốn sách gpt4 ai đã làm

java - 仅对连接字符串的一部分进行样式设置 (Android)

In lại Tác giả: Walker 123 更新时间:2023-11-29 03:03:16 26 4
mua khóa gpt4 Nike

我意识到下面的代码是不正确的,所以我认为它是伪代码。

public void setCommentText1(String text) {
String commentUsername1 = commentUser1.getText().toString();
commentUsername1.setTextColor(Color.parseColor("#bdbdbd"));
commentText1.setText(String.format("%s %s", new Object[]{commentUsername1, text}));
}

为什么我不能做这样的事情?我有一个格式化的字符串,它从我的用户名对象中获取一个字符串,并从我的评论对象中获取一个字符串。我想将用户名设置为特定颜色(最好设置为不可见),但我不能依赖注入(inject) HTML 或 XML,因为我正在从我的服务器中提取字符串。为什么我不能只设置字符串的其中一个组件的颜色?当然,您不能在 String 上设置 TextColor(它是一个 TextView 修饰符),但是有替代方法吗?

在这里查看我的原始帖子,它是相关的但总体上是一个不同的问题:Wrapping comment text beneath a username in an Android app

最终工作解决方案:

下面标记的答案很好,而且一般有效。它也更干净,但对于我的特殊问题,我需要执行以下操作:

public void setCommentUser1(String text) {
commentUser1.setText(text);
}

public void setCommentText1(String text) {
SpannableStringBuilder builder = new SpannableStringBuilder();
String commentUsername1 = commentUser1.getText().toString();
SpannableString commentUsername1Spannable = new SpannableString(commentUsername1);
commentUsername1Spannable.setSpan(new ForegroundColorSpan(Color.RED), 0, commentUsername1Spannable.length(), 0);
builder.append(commentUsername1Spannable);
builder.append(" ");
builder.append(text);
commentText1.setText(builder, TextView.BufferType.SPANNABLE);
}

câu trả lời hay nhất

这是您应该使用 Spannable 的地方。

final SpannableStringBuilder builder = new SpannableStringBuilder(username)
.append(" ")
.append(text)
.setSpan(new ForegroundColorSpan(Color.parseColor("#bdbdbd")),
0 /* startIndex */,
username.length() /* endIndex */,
Spanned.SPAN_INCLUSIVE_INCLUSIVE /* flags */);

commentText1.setText(builder);

关于java - 仅对连接字符串的一部分进行样式设置 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33578004/

26 4 0
Đề xuất bài viết: java - Object 类构造函数中会发生什么
Đề xuất bài viết: java - Queue.poll() 的效果
Đề xuất bài viết: ios - 我可以将自定义 xib 连接到框架中的类吗?
Đề xuất bài viết: Java KeyListener 控件
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress