【问题标题】:Android add more smileys in one edittext?Android 在一个编辑文本中添加更多笑脸?
【发布时间】:2014-08-21 02:27:43
【问题描述】:

我需要在一个编辑文本框中添加多个笑脸。添加一个笑脸我关注this link

如何在单个编辑文本框中添加更多笑脸?提前谢谢..

【问题讨论】:

  • 您可以在其中将图像放入编辑文本字段。

标签: android


【解决方案1】:

您可以根据需要向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 对象替换了从开始到结束的文本...你知道如何将图像跨度放在光标所在的位置吗?
  • @ShailAdi:您是否尝试简单地将ImageSpan 设置为具有相等的开始和结束(在文本插入符号的位置)?或者,您可能需要先插入占位符。如果一切都失败了,那么就在这里开始一个新的问题。 :)
  • @MH。是的...我尝试了相同的开始和结束,但它根本没有放置图像...开始使用占位符字符。谢谢:)
【解决方案2】:

您可以根据需要向Spannable 添加任意数量的ImageSpans。只需遵循您链接的代码所列出的概念即可。您可能也想使用SpannableStringBuilder

SpannableStringBuilder ssb = new SpannableStringBuilder("Some Text"); 位图 image1 = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage1); 位图 image2 = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage1); ssb.setSpan(new ImageSpan(image1), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE); ssb.setSpan(new ImageSpan(image2), 2,3, Spannable.SPAN_INCLUSIVE_INCLUSIVE); deleteButton.setText(ssb, BufferType.SPANNABLE);

我尝试了上面的代码,它工作正常。我在一个文本视图中添加了两个图像跨度,同样您可以将尽可能多的图像跨度添加到textview

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多