码迷,mamicode.com
首页 > 其他好文 > 详细

edittext实现粘贴表情

时间:2014-12-10 12:09:06      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   io   ar   color   os   sp   

 1 package com.sixin.view;
 2 
 3 import com.sixin.utile.FaceDataUtil;
 4 import android.annotation.SuppressLint;
 5 import android.content.Context;
 6 import android.text.Editable;
 7 import android.util.AttributeSet;
 8 import android.widget.EditText;
 9 
10 public class CustomEditView extends EditText {
11     private static final int ID_PASTE = android.R.id.paste;
12 
13     public CustomEditView(Context context, AttributeSet attrs) {
14         super(context, attrs);
15     }
16 
17     @SuppressLint("NewApi")
18     @Override
19     public boolean onTextContextMenuItem(int id) {
20         if (id == ID_PASTE) {
21             try {
22                 int currentapiVersion = android.os.Build.VERSION.SDK_INT;
23                 if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {
24                     android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
25                     String value = clipboard.getText().toString();
26                     Editable edit = getEditableText();
27                     // edit.clear();
28                     int index = this.getSelectionStart();
29                     if (index < 0 || index >= edit.length()) {
30                         edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
31                     } else {
32                         edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
33                     }
34 
35                 } else {
36                     android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
37                     String value = clipboard.getText().toString();
38                     Editable edit = getEditableText();
39                     // edit.clear();
40                     int index = this.getSelectionStart();
41                     if (index < 0 || index >= edit.length()) {
42                         edit.append(FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));
43                     } else {
44                         edit.insert(index, FaceDataUtil.getIns(getContext()).getExpressionString(getContext(), value, 0.7f));// 光标所在位置插入文字
45                     }
46                 }
47                 return true;
48             } catch (Exception e) {
49                 e.printStackTrace();
50             }
51         }
52         return super.onTextContextMenuItem(id);
53     }
54 
55 }

 

edittext实现粘贴表情

标签:des   android   style   blog   io   ar   color   os   sp   

原文地址:http://www.cnblogs.com/dongweiq/p/4154874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!