自定义Spannable = ImageSpan + BackgroundColorSpan + ClickableSpan

时间:2012-03-01 12:14:33

标签: android android-widget android-edittext

我希望有一个自定义Spannable类,它以某种方式结合了ImageSpanBackgroundColorSpanClickableSpan的行为。所以基本上像labels or bubbles加上一个点击处理程序。换句话说:我需要在单词前放置一个图标,并在该单词后面绘制自定义背景。我潜入了ReceipentEditorother classes,但却找不到最终的暗示。

我试图通过扩展DynamicDrawableSpan来实现这个目标,但这会取代文本而我不想手动绘制文本。实现这样的自定义Spannable的最佳方法是什么?或者是否有更好的方法而不使用Spannables?任何提示或提示都表示赞赏!

1 个答案:

答案 0 :(得分:2)

我实施了类似的东西。在我的实现中,单击一个气泡将删除它。为此,我只使用ImageSpan作为TextView。然后将OnClickListener添加到TextView。

在OnClickListener中,使用getSelectionStart()获取光标位置。确定与位置关联的ImageSpan。在没有ImageSpan条目的情况下重建和重绘TextView。