一个TextView中的多个图像?

时间:2012-04-10 14:36:19

标签: android textview android-image

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

不过,我想做的全部事情是:

  • 我有一个ListView,填充了项目
  • 每个项目都有不同的属性,我目前用明文打印(我想用图像替换theese
  • atm,我使用一个单独的TextView来显示theese属性
  • 属性的数量是随机的,但至少为1,通常为3-4(因此至少1张图片,通常为3-4张)

欢呼声

3 个答案:

答案 0 :(得分:3)

听起来你在聊天/消息应用程序中正在制作表情符号,对吗? ;)

无论如何,要走的路是使用ImageSpan。您可以使用Matcher查找要替换的所有文本组合,并使用SpannableStringBuilderImageSpan添加到匹配器返回的位置,这将替换这些字符与由ImageSpan定义的图像。

答案 1 :(得分:1)

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

例如,如果每个项目最多包含4个属性,请将四个ImageView添加到布局中,并根据传入的位置在getView中设置其drawable和可见性。

答案 2 :(得分:1)

有一件事是肯定的:您不希望将图像放入文本视图中。

textview可以包含背景,但不应用于包含图像。

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

此项目布局将包含仅包含文本和图像的textView。然后在listAdapter中,您只需显示或隐藏所需的图像。

尝试将布局基于RelativeLayout,这样可以让您拥有更简单的设计,甚至可以重叠某些元素(例如,图像可能与textview重叠)