Android EditText实现输入表情
发布时间 - 2026-01-11 02:39:20 点击率:次一、简介

editText是TextView的子类,TextView能用的工具EditText都能用,这里就是editText利用SpannableString的ImageSpan实现输入表情的功能
类结构图:
二、方法
1)EditText利用SpannableString的ImageSpan实现添加表情的方法
第一步:创建SpannableString对象spannableString
SpannableString spannableString=new SpannableString("d");
第二步:利用SpannableString的setSpan方法添加imageSpan
ImageSpan imageSpan=new ImageSpan(this, BitmapFactory.decodeResource(getResources(),R.drawable.image1)); spannableString.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
第三步:在EditText对象中添加spannableString
et_emotion.append(spannableString);
三、代码实例
效果图:
代码:
fry.Activity01
package fry;
import com.example.editTextDemo1.R;
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Activity01 extends Activity implements OnClickListener{
private EditText et_emotion;
private Button bt_addEmotion;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01);
et_emotion=(EditText) findViewById(R.id.et_emotion);
bt_addEmotion=(Button) findViewById(R.id.bt_addEmotion);
bt_addEmotion.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/*
* EditText利用SpannableString的ImageSpan实现添加表情的方法
* 第一步:创建SpannableString对象spannableString
* 第二步:利用SpannableString的setSpan方法添加imageSpan
* 第三步:在EditText对象中添加spannableString
*
*/
SpannableString spannableString=new SpannableString("d");
ImageSpan imageSpan=new ImageSpan(this, BitmapFactory.decodeResource(getResources(),R.drawable.image1));
spannableString.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
et_emotion.append(spannableString);
}
}
/editTextDemo1/res/layout/activity01.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et_emotion" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/bt_addEmotion" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout>
总结
以上所述是小编给大家介绍的Android EditText实现输入表情,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# edittext
# 输入表情
# Android中EditText屏蔽第三方输入法表情的方法示例
# Android编程开发之EditText实现输入QQ表情图像的方法
# Android中EditText禁止输入表情的实例代码
# 第二步
# 小编
# 第三步
# 象中
# 子类
# 在此
# 结构图
# 给大家
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# normal
# px
# spacing
# word
# space
# size
# font
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
详解Huffman编码算法之Java实现
高端建站如何打造兼具美学与转化的品牌官网?
如何将凡科建站内容保存为本地文件?
Laravel如何使用withoutEvents方法临时禁用模型事件
Firefox Developer Edition开发者版本入口
手机网站制作与建设方案,手机网站如何建设?
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何撰写建站申请书?关键要点有哪些?
如何在服务器上配置二级域名建站?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站图片在线制作软件,怎么在图片上做链接?
Windows Hello人脸识别突然无法使用
网站建设整体流程解析,建站其实很容易!
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何快速生成橙子建站落地页链接?
微信公众帐号开发教程之图文消息全攻略
JavaScript常见的五种数组去重的方式
java获取注册ip实例
如何在建站之星绑定自定义域名?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何登录建站主机?访问步骤全解析
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何在云主机上快速搭建多站点网站?
如何在新浪SAE免费搭建个人博客?
JS经典正则表达式笔试题汇总
C#如何调用原生C++ COM对象详解
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何在万网ECS上快速搭建专属网站?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何在IIS中配置站点IP、端口及主机头?
如何在腾讯云服务器上快速搭建个人网站?
如何在云主机上快速搭建网站?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
如何构建满足综合性能需求的优质建站方案?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
南京网站制作费用,南京远驱官方网站?
如何在万网自助建站中设置域名及备案?
Laravel怎么判断请求类型_Laravel Request isMethod用法
个人摄影网站制作流程,摄影爱好者都去什么网站?
浅谈javascript alert和confirm的美化
如何快速选择适合个人网站的云服务器配置?
Laravel中的Facade(门面)到底是什么原理
上一篇:UC浏览器背景图设置教程
上一篇:UC浏览器背景图设置教程

