Android EditText实现输入表情
程序员文章站
2024-02-08 08:19:16
一、简介
edittext是textview的子类,textview能用的工具edittext都能用,这里就是edittext利用spannablestring的im...
一、简介
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实现输入表情,希望对大家有所帮助
上一篇: MyBatis3用log4j在控制台输出SQL的方法示例
下一篇: 百度浏览器怎么修改下载目录
推荐阅读
-
Android EditText实现输入表情
-
Android EditText 监听输入完成
-
Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容
-
Android自定义控件实现通用验证码输入框(二)
-
Android之EditText控制禁止输入空格和回车
-
Android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入的实例代码
-
Android中EditText+Button组合导致输入板无法收起的原因分析及解决办法
-
Android EditText限制输入字数的方法
-
Android实现EditText中添加和删除bitmap的方法
-
Android实现EditText内容保存为Bitmap的方法