【发布时间】:2014-08-21 02:27:43
【问题描述】:
我需要在一个编辑文本框中添加多个笑脸。添加一个笑脸我关注this link
如何在单个编辑文本框中添加更多笑脸?提前谢谢..
【问题讨论】:
-
您可以在其中将图像放入编辑文本字段。
标签: android
我需要在一个编辑文本框中添加多个笑脸。添加一个笑脸我关注this link
如何在单个编辑文本框中添加更多笑脸?提前谢谢..
【问题讨论】:
标签: android
您可以根据需要向Spannable 添加任意数量的ImageSpans。只需遵循您链接的代码所列出的概念即可。您可能也想使用SpannableStringBuilder。
Drawable happySmiley = mContext.getResources().getDrawable(R.drawable.happy);
happySmiley .setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
Drawable sadSmiley = mContext.getResources().getDrawable(R.drawable.sad);
sadSmiley .setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append("Some text [happy_smiley_anchor]");
builder.setSpan(new ImageSpan(happySmiley), builder.length()-"[happy_smiley_anchor]".length(), builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(". Some more text [sad_smiley_anchor]");
builder.setSpan(new ImageSpan(sadSmiley), builder.length()-"[sad_smiley_anchor]".length(), builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
edittext.setText(builder);
显然,您可以使用任何您喜欢的锚文本/字符 - 当插入 ImageSpan 时,它会被替换。它甚至可能适用于空字符/字符串,但我没有尝试过。
【讨论】:
ImageSpan 设置为具有相等的开始和结束(在文本插入符号的位置)?或者,您可能需要先插入占位符。如果一切都失败了,那么就在这里开始一个新的问题。 :)
您可以根据需要向Spannable 添加任意数量的ImageSpans。只需遵循您链接的代码所列出的概念即可。您可能也想使用SpannableStringBuilder。
我尝试了上面的代码,它工作正常。我在一个文本视图中添加了两个图像跨度,同样您可以将尽可能多的图像跨度添加到textview。
【讨论】: