我想知道将多个,小(所有相同大小)图像放入一个TextView的最佳方法是什么?从我发现的,最好的方法是使用Html,但如何?我的所有图像都是离线图像,因此我可以将它们复制到原始文件夹中,如果这是正确的方法。任何人都可以指出我正确的方向,或显示一个类似的线程,我没有找到?或者,是否有更好的方法,比如不使用TextView,还有其他什么,可以在布局文件中解决,并动态填充图像?
不过,我想做的全部事情是:欢呼声
答案 0 :(得分:3)
听起来你在聊天/消息应用程序中正在制作表情符号,对吗? ;)
无论如何,要走的路是使用ImageSpan
。您可以使用Matcher
查找要替换的所有文本组合,并使用SpannableStringBuilder
将ImageSpan
添加到匹配器返回的位置,这将替换这些字符与由ImageSpan
定义的图像。
答案 1 :(得分:1)
为什么不创建一个可用于ListView
的每一行的布局,并根据该行的数据填充该布局的不同元素?
例如,如果每个项目最多包含4个属性,请将四个ImageView添加到布局中,并根据传入的位置在getView
中设置其drawable和可见性。
答案 2 :(得分:1)
有一件事是肯定的:您不希望将图像放入文本视图中。
textview可以包含背景,但不应用于包含图像。
您要做的只是设计一个项目布局,适配器将使用该布局来填充列表视图。
此项目布局将包含仅包含文本和图像的textView。然后在listAdapter中,您只需显示或隐藏所需的图像。
尝试将布局基于RelativeLayout,这样可以让您拥有更简单的设计,甚至可以重叠某些元素(例如,图像可能与textview重叠)