Add emojicon in between text when required; fixes#19
This commit is contained in:
parent
5854534419
commit
7284b7d423
1 changed files with 26 additions and 34 deletions
|
@ -39,26 +39,6 @@ public class MainActivity extends Activity {
|
||||||
//Will automatically set size according to the soft keyboard size
|
//Will automatically set size according to the soft keyboard size
|
||||||
popup.setSizeForSoftKeyboard();
|
popup.setSizeForSoftKeyboard();
|
||||||
|
|
||||||
//Set on emojicon click listener
|
|
||||||
popup.setOnEmojiconClickedListener(new OnEmojiconClickedListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEmojiconClicked(Emojicon emojicon) {
|
|
||||||
emojiconEditText.append(emojicon.getEmoji());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//Set on backspace click listener
|
|
||||||
popup.setOnEmojiconBackspaceClickedListener(new OnEmojiconBackspaceClickedListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEmojiconBackspaceClicked(View v) {
|
|
||||||
KeyEvent event = new KeyEvent(
|
|
||||||
0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
|
|
||||||
emojiconEditText.dispatchKeyEvent(event);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//If the emoji popup is dismissed, change emojiButton to smiley icon
|
//If the emoji popup is dismissed, change emojiButton to smiley icon
|
||||||
popup.setOnDismissListener(new OnDismissListener() {
|
popup.setOnDismissListener(new OnDismissListener() {
|
||||||
|
|
||||||
|
@ -88,7 +68,19 @@ public class MainActivity extends Activity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEmojiconClicked(Emojicon emojicon) {
|
public void onEmojiconClicked(Emojicon emojicon) {
|
||||||
emojiconEditText.append(emojicon.getEmoji());
|
if (emojiconEditText == null || emojicon == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int start = emojiconEditText.getSelectionStart();
|
||||||
|
int end = emojiconEditText.getSelectionEnd();
|
||||||
|
if (start < 0) {
|
||||||
|
emojiconEditText.append(emojicon.getEmoji());
|
||||||
|
} else {
|
||||||
|
emojiconEditText.getText().replace(Math.min(start, end),
|
||||||
|
Math.max(start, end), emojicon.getEmoji(), 0,
|
||||||
|
emojicon.getEmoji().length());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -98,7 +90,7 @@ public class MainActivity extends Activity {
|
||||||
@Override
|
@Override
|
||||||
public void onEmojiconBackspaceClicked(View v) {
|
public void onEmojiconBackspaceClicked(View v) {
|
||||||
KeyEvent event = new KeyEvent(
|
KeyEvent event = new KeyEvent(
|
||||||
0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
|
0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL);
|
||||||
emojiconEditText.dispatchKeyEvent(event);
|
emojiconEditText.dispatchKeyEvent(event);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -137,21 +129,21 @@ public class MainActivity extends Activity {
|
||||||
});
|
});
|
||||||
|
|
||||||
//On submit, add the edittext text to listview and clear the edittext
|
//On submit, add the edittext text to listview and clear the edittext
|
||||||
submitButton.setOnClickListener(new OnClickListener() {
|
submitButton.setOnClickListener(new OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
String newText = emojiconEditText.getText().toString();
|
String newText = emojiconEditText.getText().toString();
|
||||||
emojiconEditText.getText().clear();
|
emojiconEditText.getText().clear();
|
||||||
mAdapter.add(newText);
|
mAdapter.add(newText);
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void changeEmojiKeyboardIcon(ImageView iconToBeChanged, int drawableResourceId){
|
private void changeEmojiKeyboardIcon(ImageView iconToBeChanged, int drawableResourceId){
|
||||||
iconToBeChanged.setImageResource(drawableResourceId);
|
iconToBeChanged.setImageResource(drawableResourceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue