我想对在以下形式的编程'的意见进行布局:多格式化的TextView
我想以粗体显示的USER_NAME,并在Enphasis日期(红色部分应该是正常的,我不希望它红)。我的问题伴随着红色部分。我不能得到要显示这样使用布局的cooment,我已经能够得到:
和
有没有什么办法让注释工作就像一个我所展示。我想过一个多格式的textView,它是否可行?
如果得到这样的评论是不可能的,那就说它是不可能的。
我想对在以下形式的编程'的意见进行布局:多格式化的TextView
我想以粗体显示的USER_NAME,并在Enphasis日期(红色部分应该是正常的,我不希望它红)。我的问题伴随着红色部分。我不能得到要显示这样使用布局的cooment,我已经能够得到:
和
有没有什么办法让注释工作就像一个我所展示。我想过一个多格式的textView,它是否可行?
如果得到这样的评论是不可能的,那就说它是不可能的。
如果HTML标记是好的,您可以使用带有loadData的WebView,或者也可以深入研究Spannable文本的领域。
我自己并没有使用Spannable文本,但本质上它允许您将属性(例如样式&颜色)附加到TextView中的文本部分。
相关的方法是TextView.setText(CharSequence text, TextView.BufferType type) BufferType为SPANNABLE。我见过的文档是....迷惑。
一个可能的解决方案是将两个TextView
一个接一个放入Linear
布局,然后使用SpannableStringBuilder
将格式化的文本分配到第一个视图。
SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(text);
sb.setSpan(createBoldSpan(), 0, lengthOf(userName),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
firstTextView.setText(sb, TextView.BufferType.NORMAL);
createBoldSpan
应该返回TextAppearanceSpan
private TextAppearanceSpan userNameSpanInBold(String userName) {
return new TextAppearanceSpan(...);
}
请遵循TextAppearanceSpan
API文档 - 您可以使用自定义样式创建一个。