大家可以看到像QQ 微博的软件,在输入框内加入图片。那么怎么实现的呢。这里给大家提供一种方法。
标记中有一个<img>标记。通过这个标记,可以很容易地实现将图像插入到EditText的功能。不过使用<img>标签要比使用其他的标签多一个步骤,这就是要实现一个ImageGetter接口,通过这个接口,可以获得一个Drawable对象。先看看如下的代码:
private ImageGetter imageGetter = new ImageGetter(){
@Override
public Drawable getDrawable(String source)
{
int id = Integer.parseInt(source);
Drawable d = getResources().getDrawable(id);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};
上面的代码通过ImageGetter接口的getDrawable方法返回了一个Drawable对象,其中source参数的值就是<img>标签的src属性的值。我们需要通过如下的代码来使用<img>标签。
editText.append(Html.fromHtml("<imgsrc='"+ faces[new Random().nextInt(6)] +"'/>", imageGetter, null));
其中faces是一个int类型数组,保存了相应的drawable资源的ID值。在使用<img>标签之前需要使用Html.fromHtml方法来封装这些标签,如果使用的是<img>标签,需要使用fromHtml方法的第2个参数指定ImageGetter对象,以便通过<img>标签的src属性获得相应的Drawable对象。通过EditText.append方法插入<img>标签后,系统会自动将<img>标签转换成相应的图像显示在EditText中
分享到:
相关推荐
Android EditText插入QQ表情源码,测试已经通过,可下载查看。
android EditText跟随键盘弹出,背景不会被顶上去
Android EditText 手机号码分段显示
Android实现EditText的一个细节效果的源码
通过Html方式实现图片在EditText中显示。
Android EditText 插入表情
android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: <activity android:name=".Main" android:...
android EditText禁止输入法表情,完美解决表情不能屏蔽的情况,不存在个别表情屏蔽不了的情况,不明白的地方可以参考我的博客。
Android ContextMenu实例,为EditText文本框添加上下文菜单,菜单激活并显示的方式是,用户在EditText输入框上面长按2秒,即可弹出上下文菜单,如运行截图所示的效果,为实现此功能,创建了onCreateContextMenu ...
Android EditText 正则表达式 限制数字、字母、字符 输入 密码框
Android TextView EditText 插入 图片 工具类 包装 ,已包装好工具类,直接调用
Android聊天实现图文混编(包括gif显示) 已封装好 直接调用即可
借助SpannableString、ImageSpan、ImageGetter和html标签实现在EditText中任意位置插入图片,并准确显示,两个java文件对应两个界面,一个编辑EditText内容,点击“图片”按钮可在任意位置插入图片,点击“显示”...
公司让我们用gif图片代替密码框的*占位符,这是一个demo,用gif图片代替字符显示在Edittext
Android EditText多行文本输入 字数统计 限制数量
根据微信使用EditText 发送表情!
学习有关Android EditText属性
Android EditText 禁止emoj表情输入
ChipsLibrary - 在Android EditText中实现打Tag功能