您的位置:首页 > 移动开发 > Android开发

Android---文字中插入表情

2012-04-19 17:36 281 查看
转自: http://blog.163.com/spf9190@126/blog/static/50207531201091545954587/
这段时间在做一个短信项目,需要实现短信中插入表情的功能,本一位非常困难,经过一段时间的研究,发现还是比较簡単的,现在总结如下。

以短信输入框为例,短信的输入框是一个EditText,它的append方法不仅可以加入字符串,还可以添加HTML标记。以下就是使用HTML标记添加表情的具体操作。

首先需要构建一个ImageGetter,作用是通过HTML标记获得对应在res目录下的图片:

ImageGetter imageGetter = new ImageGetter() {

@Override

public Drawable getDrawable(String source) {

int id = Integer.parseInt(source);

//根据id从资源文件中获取图片对象

Drawable d = getResources().getDrawable(id);

d.setBounds(0, 0, d.getIntrinsicWidth(),d.getIntrinsicHeight());

return d;

}

};

然后就可以直接往EditText视图中添加

inputLable.append(Html.fromHtml("<img src='"+clickedImageId+"'/>", imageGetter, null));

其中 Html.fromHtml("<img src='"+clickedImageId+"'/>"就是HTML的图片标记,在Android中支持了部分HTML标记的使用(这方面我还在继续研究),HTML标记必须被Html.fromHtml修饰。imageGetter即为之前创建的ImageGetter类型的对象。

很简单的几句代码就解决了问题,不仅在EditText中,在TextView中同样可以这样插入图片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: