【发布时间】:2020-09-13 12:22:39
【问题描述】:
是否可以将自定义视图添加到可跨文本中?
在android.text.style 包中,我可以看到许多类型的可跨对象,但我想知道是否可以添加自定义视图。
类似于spanable.setSpan(CustomView, .. , .. ,..)
请注意:CustomView 可能是任何类型的视图,即:WebView
【问题讨论】:
-
问题应该是是否建议添加一个视图作为对
Spannable的引用。由于视图包含上下文并且可扩展字符串未绑定到任何生命周期,因此不应将引用放在那里。 -
@tynn 你对视图的上下文/生命周期是正确的?...但是在 WeakHashMap 中保存引用并在我离开
SpannableTextMainView 后销毁它们呢?所以我的问题仍然存在......是否可以将自定义视图注入到可扩展文本中? -
您只是希望自定义视图在文本中显示为图像吗?这将是因为它会出现在 ViewGroup 中但适合文本边界?您是否希望自定义视图在其显示之外也可操作,即可点击、接受焦点、可编辑等?
-
@Cheticamp 我认为自定义视图不能提供超出显示属性的功能。虽然我可以像使用
<a href那样处理点击,但现在我试图将它们显示为图像最少。 -
一个 ImageSpan 将在文本中显示一个图像,但您需要一个位图或自定义视图中的某种可绘制对象。如果 ImageSpan 有效,您的问题是否会简化为如何从自定义视图中获取位图或可用于 ImageSpan 的内容? (我不认为 wonsuc 的答案太遥远。我质疑关于 ViewGroups 的说法,但据我所知,@wonsuc 的答案与动画无关。)
标签: android html android-view android-spannable