2012-02-09 158 views
1

我正在开发聊天应用程序。对于笑脸我已经使用了图像按钮。但问题是,我不知道如何在聊天消息后插入笑脸到文本控件,类似于: enter image description hereAndroid聊天应用程序笑脸

如何通过代码来实现?请指导我。

+0

http://stackoverflow.com/questions/5561981/how-to-display-image-in-androids-textview – 2012-02-09 17:44:58

+0

@simon感谢ü:) – Tejaswini 2012-02-09 17:46:06

+0

@JulianFondren将它的工作,因为我想要的?我的意思就像在上面的图像? – Tejaswini 2012-02-09 17:47:55

回答

5

您可以使用ImageSpan对象实现此目的。 TextViews和EditTexts使用Spanned/Spannable对象来存储输入的文本内容,而不仅仅是java Strings。在这些Spanned/Spannable对象上,您可以为文本上的部分定义跨度,以修改这些部分显示的方式。因此,您可以以粗体,斜体等方式显示文本,还可以显示图像以代替某些部分。

通过这种方式,您可以在输入的文本中搜索“:-)”模式,并在其上显示一个笑脸来拍摄ImageSpan。检查文档http://developer.android.com/reference/android/text/style/ImageSpan.html

0

我们无法直接将图像添加到editText和textView。为此,我们必须创建一个spannable文本,并且我的代码创建了一个spanned文本,现在您可以将其设置为textView/editText。

ImageGetter imageGetter = new ImageGetter() 
       { 
        public Drawable getDrawable(String source) { 
         Drawable d = getResources().getDrawable(R.drawable.e001); 
         d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
         return d; 
        } 
       }; 

       Spanned cs = Html.fromHtml("<img src='" + getResources().getDrawable(R.drawable.e001) + "'/>", imageGetter, null); 


      yourTextView.setText(cs); 
+0

我们不能直接将图像添加到textView或editText,但我们可以在ImageSpan的帮助下完成,我已将图像转换为跨文本,现在可以将其设置为textView或editText,并且我正在创建表情符号键盘,它正在正常工作 – 2014-12-22 14:43:49

+0

我已更新我的代码。尝试通过测试我的代码。 – 2014-12-22 14:47:20

+1

仅有代码的答案不是很有用。 – 2014-12-22 14:59:02