gpt4 book ai didi

android - 跨多行显示两个 TextViews

转载 作者:行者123 更新时间:2023-12-01 23:18:34 25 4
gpt4 key购买 nike

我遇到了一些问题,因为我希望两个 TextView 并排布局,即使第一个 TextView 有几行文本。理想情况下,下一个 TextView 应该紧随其后。这有点难以解释,所以我制作了这张图片来说明它:



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

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

最佳答案

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

解决方法是使用 Spannable使用应用于每个“跨度”的特定格式来创建内容 fragment 的文本。事实证明,您可以将整个结果直接粘贴到单个 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);
android.text.style 中有大量不同的跨度定义, 以上只是在同一字符串中创建两种不同文本大小的示例。你应该能够从这个中得到你想要的, TextAppearanceSpan , TypefaceSpan ,或其他组合。

高温高压

关于android - 跨多行显示两个 TextViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com