我目前正在使用SpannableString在单个TextView中格式化大块文本。大小和颜色格式很好,但我正在努力对齐。
我发现this post提供了有关对齐格式的指导,以及有关如何使用AlignmentSpan的this Android Developer page,但它似乎对我不起作用。 Eclipse显示没有错误,应用程序加载/运行就好了,但是对齐部分似乎完全被忽略了。这是我的代码:
Spannable t = new SpannableString("Test Blue.");
t.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.color_blue)), 0, t.length()-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
t.setSpan(new AbsoluteSizeSpan((int) getResources().getDimension(R.dimen.big_text)), 0, t.length()-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
t.setSpan(new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER), 0, t.length()-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text3.setText(t);
非常感谢任何帮助。
[编辑]我也尝试过评论颜色和大小setSpans,看是否有冲突,但没有运气。
[编辑2]:我将下面的答案标记为正确,但正确的答案实际上已隐藏在评论中。我无法将TextView的XML文件宽度更新为match_parent(而不是fill_content)。谢谢Serge!
答案 0 :(得分:4)
也许你可以尝试这样做:
String t = "<center><font color=\"blue\">Test Blue.</font></center>";
text3.setText(Html.fromHtml(t));