Android常用代码-一个TextView显示黑色标题和灰色内容

  1. 1. 需求
  2. 2. 分析
  3. 3. 可行方案
  4. 4. 方法
  5. 5. 使用

需求

  • 标题黑色,内容灰色;
  • 标题后紧跟内容;
  • 内容换行后和标题对齐;

分析

  • 两个TextView不能实现;

可行方案

  • 方案1:一个TextView,使用SpannableString
  • 方案2:一个TextView,使用Html标签控制样式

方法

1
2
3
4
5
6
7
8
9
10
private SpannableStringBuilder generateTitleContent(String title, String content) {
SpannableStringBuilder sb = new SpannableStringBuilder(title + content);
sb.setSpan(new StyleSpan(Typeface.BOLD), 0, title.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(new ForegroundColorSpan(Color.BLACK), 0, title.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(new ForegroundColorSpan(Color.parseColor("#5f656e")), title.length(), title.length() + content.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return sb;
}

使用

1
mTextView.setText(generateTitleContent(title, content));