我想對在以下形式的編程'的意見進行佈局:多格式化的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文檔 - 您可以使用自定義樣式創建一個。