edittext实现粘贴表情
package com.sixin.view; import com.sixin.utile.FaceDataUtil;
import android.annotation.SuppressLint;
import android.content.Context;
import android.text.Editable;
import android.util.AttributeSet;
import android.widget.EditText; public class CustomEditView extends EditText {
private static final int ID_PASTE = android.R.id.paste; public CustomEditView(Context context, AttributeSet attrs) {
super(context, attrs);
} @SuppressLint("NewApi")
@Override
public boolean onTextContextMenuItem(int id) {
if (id == ID_PASTE) {
try {
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
String value = clipboard.getText().toString();
Editable edit = getEditableText();
// edit.clear();
int index = this.getSelectionStart();
if (index < 0 || index >= edit.length()) {
edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
} else {
edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
} } else {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
String value = clipboard.getText().toString();
Editable edit = getEditableText();
// edit.clear();
int index = this.getSelectionStart();
if (index < 0 || index >= edit.length()) {
edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
} else {
edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
}
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return super.onTextContextMenuItem(id);
} }
edittext实现粘贴表情的更多相关文章
- EditText实现输入表情
EditText实现输入表情 一.简介 editText是TextView的子类,TextView能用的工具EditText都能用,这里就是editText利用SpannableString的Imag ...
- Android 自定义EditText实现粘贴,复制,剪切的监听
package com.dwtedx.qq.view; import android.annotation.SuppressLint; import android.content.Context; ...
- android 在EditText中显示表情图片
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { su ...
- Android EditText控件行尾为表情时的BUG
今天处理项目上的一个诡异BUG,贴吧Android客户端发贴框是支持表情文字混排的,但是当发贴框的行内容末尾为表情时,尝试在表情后插入文字,就悲剧了:文字其实写进去了,但是不会显示出来.研究了一下,发 ...
- Android--UI之EditText
前言 上一篇博客介绍了Android的TextView控件,这篇博客来说一下EditText控件.EditText为一个文本控件,提供了文本输入的功能,而且继承自TextView,可以理解为可以输入的 ...
- Android 聊天表情输入、表情翻页带效果、下拉刷新聊天记录
经过一个星期的折腾,最终做完了这个Android 聊天表情输入.表情翻页带效果.下拉刷新聊天记录.这仅仅是一个单独聊天表情的输入,以及聊天的效果实现.由于我没有写server,所以没有两方聊天的效果. ...
- ym——android源代码大放送(实战开发必备)
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 目录 PATH 列表 卷序列号为 000A-8F50 E:. │ javaapk.c ...
- 45个android实例源码
分享45个android实例源码,很好很强大http://www.apkbus.com/android-20978-1-1.html andriod闹钟源代码http://www.apkbus.com ...
- 分享45个android实例源码,很好很强大
分享45个android实例源码,很好很强大 http://www.apkbus.com/android-20978-1-1.html 分享45个android实例源码,很好很强大http://www ...
随机推荐
- Lambda 笔记
lambda表达式,将会带来代码的灵活性,同时使我们的代码更具表现力. Dim doubleIt As Func(Of Integer, Integer) = _ Function(x As Inte ...
- SQL 2008 R2 数据库镜像操作
镜像操作请参考:http://blog.csdn.net/dba_huangzj/article/details/35995083 应用程序数据库连接字符串(带见证服务器即自动故障转移): DBHel ...
- Java ----------- 正则表达式(更新中。。。。。。)
RegEx:Regular Expression. 元字符 描述 \ 将下一个字符标记符.或一个向后引用.或一个八进制转义符.例如,“\\n”匹配\n.“\n”匹配换行符.序列“\\”匹配“\”而“\ ...
- C#--接口的实现
接口: 不允许使用访问修饰符,所有接口成员都是公共的. 接口成员不能包含代码体. 接口不能定义字段成员. 接口成员不能使用关键字static,vritual,abstract,sealed来定义. 类 ...
- javascript返回顶部几种代码总结
纯js代码 /** * 回到页面顶部 * @param acceleration 加速度 * @param time 时间间隔 (毫秒) **/ function goTop(acceleration ...
- MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
公司线上在用partition,有一个表的分区字段错了,需要重建,结果发现没有办法像修改主键字段或者修改索引字段那样直接一条sql搞定.而是需要建临时表,有down time,所以去仔细看了文档,研究 ...
- Jquery 判断IE
if( $.browser.msie && ( $.browser.version == '7.0' || $.browser.version == '8.0' ) ){ alert( ...
- Flask学习记录之Flask-Admin
相信用过Django框架的都不会忘记它强大的Admin功能,Flask-admin是一款能够与Django Admin所媲美的扩展,能够快速创建Web管理界面,实现了用户.文件增删改查等常用功能:也可 ...
- 关于vs2013error C4996: 'strcmpi': The POSIX name for this item is deprecated.的错误解决办法!
1.出现如下错误(如图1) 2.解决办法(如图2)在头文件处添加#pragma warning(disable: 4996)
- Visual studio 内存不足的解决方案(out of memory)
编译Visual Studio项目,如果出现"out of memory "的编译错误,可以进行如下操作,加大应用程序可以使用的内存. 请先备份好系统和设置好系统还原点,大体步骤是 ...