跨多行显示两个内联TextView

Mic*_*Bak 3 android textview

我遇到了一个问题,因为即使第一个TextView有几行文本,我也希望两个TextView并排布局.理想情况下,下一个TextView应该紧跟在之后.这有点难以解释,所以我用这张照片来说明它:

(第一个TextView包含标题,第二个TextView包含一年)

我现在一直在尝试一些不同的东西,包括布局黑客和使用Html.fromHtml(),但到目前为止还没有任何工作.这可能是不可能的,但我只是想确定.

Dev*_*red 5

这听起来像是一份工作Spannable.正如你已经注意到做两个视图的问题是TextView你的两行示例中的边界仍然是一个矩形,因此在文本末尾布置第二个视图会变得棘手.HTML可以用于简单的标签(粗体,下划线,标题),但不太灵活.

解决方案是用于Spannable创建内容的文本,并将特定格式应用于每个"span".事实证明,你可以把整个结果直接放到一个单一的TextView.就像是:

TextView tv; //Defined somewhere else

SpannableStringBuilder resultBuilder = new SpannableStringBuilder();
SpannableString item = new SpannableString("Long and Fancy Movie Title Here");
item.setSpan(new AbsoluteSizeSpan(18, true), 0, item.length(), 0);
resultBuilder.append(item);

SpannableString item = new SpannableString("(2011)");
item.setSpan(new AbsoluteSizeSpan(12, true), 0, item.length(), 0);
resultBuilder.append(item);

tv.setText(resultBuilder, TextView.BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)

有大量不同的跨度定义android.text.style,上面只是在同一个字符串中创建两个不同文本大小的示例.你应该能够得到你想要的东西了这一项的TextAppearanceSpan,TypefaceSpan或其他一些组合.

HTH