1

我想知道将多个小(所有大小相同)图像放入一个 TextView 的最佳方法是什么?根据我的发现,最好的方法是使用 Html,但是如何?我所有的图像都是离线的,所以我可以将它们复制到例如原始文件夹中,如果这是正确的方法。谁能指出我正确的方向,或者显示一个我没有找到的类似线程?或者,有没有更好的方法,比如不使用 TextView,而是使用其他东西,可以在布局文件中解决,并动态填充图像?

顺便说一句,我想做的整件事是:

  • 我有一个 ListView,里面装满了项目
  • 每个项目都有不同的属性,我目前以纯文本形式打印(我想用图像替换这些
  • atm,我使用一个单独的 TextView 来显示这些属性
  • 属性的数量是随机的,但至少1个,通常3-4个(所以至少1张图片,通常3-4个)

干杯

4

3 回答 3

3

听起来您正在聊天/消息应用程序中制作笑脸,对吗?;)

无论如何,要走的路是使用ImageSpan. 您可以使用 aMatcher查找要替换的所有文本组合,并使用 aSpannableStringBuilderImageSpans 添加到匹配器返回的位置,这会将这些字符替换为ImageSpan.

于 2012-04-10T15:00:01.510 回答
1

为什么不创建一个可用于每一行的布局,ListView并根据该行的数据填充该布局的不同元素?

例如,如果每个 item 最多有 4 个属性,则在布局中添加四个 ImageView,并getView根据传入的位置设置它们的 drawable 和可见性。

于 2012-04-10T14:43:50.157 回答
1

有一件事是肯定的:你不想把你的图像放在你的文本视图中。

文本视图可以包含背景,但不应用于包含图像。

您要做的只是设计一个项目布局,您的适配器将使用它来填充列表视图。

此项目布局将包含一个 textView,其中仅包含您的文本和图像。然后在您的 listAdapter 中,您将简单地显示或隐藏您想要的图像。

尝试将您的布局基于相对布局,这将允许您进行更简单的设计,甚至重叠一些元素(例如,图像可能与 textview 重叠)

于 2012-04-10T14:45:08.747 回答