Android EditText实现输入表情
时间:2022-07-28
本文章向大家介绍Android EditText实现输入表情,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、简介
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实现输入表情,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!
- Angular企业级开发(10)-Smart Table插件开发
- 安装Ubuntu时分区选择
- linux系统下安装两个或多个tomcat
- JS魔法堂:不完全国际化&本地化手册 之 实战篇
- scala + intellij idea 环境搭建及编译、打包
- Angular企业级开发(2)-搭建Angular开发环境
- JS魔法堂:不完全国际化&本地化手册 之 拓展篇
- 使用jQuery的animate方法制作滑动菜单
- jenkins 入门教程(下)
- CSS3制作心形头像
- CSS魔法堂:重拾Border之——不仅仅是圆角
- scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
- java之log4j的配置
- scala 学习笔记(02) 元组Tuple、数组Array、Map、文件读写、网页抓取示例
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 干货 | Elasticsearch 开发实战常用命令清单
- Scrapy框架: 登录网站
- Scrapy框架: middlewares.py设置
- Scrapy框架: pipelines.py设置
- Scrapy框架: 通用爬虫之CrawlSpider
- Scrapy框架: 通用爬虫之XMLFeedSpider
- Scrapy框架: 通用爬虫之CSVFeedSpider
- Scrapy框架: 通用爬虫之SitemapSpider
- Scrapy框架: 异常错误处理
- Scrapy框架: Request回调函数
- Python快速设置Excel表格边框
- SwiftUI:contextMenu 菜单
- [已解决]报错: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/User
- Python建立pip.ini
- 使用requests_html抓取数据