下面列出了android.widget.EditText#dispatchKeyEvent ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void backspace(EditText input) {
if (input == null) {
return;
}
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
input.dispatchKeyEvent(event);
}
@Override
public void onFaceItemClick(FacePanelView view, String face, int faceId) {
View focusView = getCurrentFocus();
if (focusView != null && focusView instanceof EditText) {
EditText editText = (EditText) focusView;
int index = editText.getSelectionStart();
if (FacePanelView.KEY_DELETE.equals(face)) {
//发送删除事件
if (index > 0) {
editText.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
}
} else {
face = "{:" + face + ":}";
int size = SizeUtils.dp2px(20);
Drawable drawable = getResources().getDrawable(faceId);
drawable.setBounds(0, 0, size, size);
ImageSpan imageSpan = new ImageSpan(drawable, ALIGN_BOTTOM);
SpannableString spannableString = new SpannableString(face);
spannableString.setSpan(imageSpan, 0, face.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
if (index < 0 || index >= editText.getText().length()) {
editText.getEditableText().append(spannableString);
} else {
editText.getEditableText().insert(index, spannableString);
}
editText.setSelection(index + face.length());
}
}
}
public static void backspace(EditText editText) {
if (editText == null) {
return;
}
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0,
0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
static void backspace(@NonNull final EditText editText) {
final KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
public static void backspace(EditText editText) {
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
public static void delete(EditText editText) {
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
private static void pressKeys(EditText editText, int... keycodes) {
for (int key : keycodes) {
editText.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, key, 0));
editText.dispatchKeyEvent(new KeyEvent(0, 0, KeyEvent.ACTION_UP, key, 0));
}
}
public static void backspace(EditText editText) {
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
public static void backspace(EditText editText) {
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}
public static void backspace(EditText editText) {
KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
editText.dispatchKeyEvent(event);
}