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 】
相关推荐:
个人网站制作流程图片大全,个人网站如何注销?
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
EditPlus中的正则表达式实战(6)
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
无锡营销型网站制作公司,无锡网选车牌流程?
JavaScript模板引擎Template.js使用详解
制作电商网页,电商供应链怎么做?
用yum安装MySQLdb模块的步骤方法
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
JS弹性运动实现方法分析
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何快速完成中国万网建站详细流程?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
如何在新浪SAE免费搭建个人博客?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何破解联通资金短缺导致的基站建设难题?
Laravel如何处理异常和错误?(Handler示例)
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
微信小程序 五星评分(包括半颗星评分)实例代码
Android okhttputils现在进度显示实例代码
如何用AWS免费套餐快速搭建高效网站?
网站建设保证美观性,需要考虑的几点问题!
如何在宝塔面板创建新站点?
PythonWeb开发入门教程_Flask快速构建Web应用
如何在腾讯云服务器快速搭建个人网站?
如何用PHP快速搭建CMS系统?
BootStrap整体框架之基础布局组件
图册素材网站设计制作软件,图册的导出方式有几种?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
中山网站推广排名,中山信息港登录入口?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
jquery插件bootstrapValidator表单验证详解
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
上一篇:UC浏览器背景图设置教程
上一篇:UC浏览器背景图设置教程

