android - 如何更改 TextView 特定部分的颜色?

标签 android android-layout textview spannablestring android-textattributes

我在 TextView 中使用了两部分,第一部分是日期,另一部分是姓名和电子邮件。 它们都在同一个 TextView 中被引用。我想更改日期的颜色,使其具有与姓名和电子邮件不同的视觉效果。是否可以在不实际为名称和电子邮件添加全新的 TextView 的情况下执行此操作? 到目前为止,这是我的代码:

String nameandemail;
holder.mytext.setText(String.valueOf(dateFormat.format(new Date(msg.getDate())) + " " + nameandemail + ": "));

如何设置日期颜色 holder.mytext.setTextColor(Color.white) nameandemail 字符串是绿色的吗?

谢谢!

最佳答案

您可以使用 spans .

final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");

// Set text color to some RGB value
final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

// Make text bold
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); 

// Set the text color for first 6 characters
sb.setSpan(fcs, 0, 6, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

// make them also bold
sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

textView.setText(sb);

你也可以像下面这样使用html

  myTextView.setText(Html.fromHtml(text + "<font color=white>" + some_text + "</font><br><br>"
        + some_text));

关于android - 如何更改 TextView 特定部分的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33246735/

相关文章:

android - 在我的案例中如何膨胀 Activity ?

android - 在 android searchview 中添加计数文本字段

android - 如何创建一个 TextView 作为链接以打开我的应用程序中的另一个 Activity ?

用于小型 2D 游戏的 Android 库

Android:ListView 中的 EditText 能否像列表项一样获得焦点?

android - 在 gradle.build 中获取 App 名称

Android、Xamarin Forms PCL、PortableRest PCL 和异步 Web Api 调用

java - Android线性布局背景透明度

java - 将 Arraylist 附加到 TextView

android - 无法显示 MediaRouteActionProvider 按钮