belongs to Maven artifact com.android.support:support-emoji:28.0.0-alpha1
EmojiEditTextHelper
public
final
class
EmojiEditTextHelper
extends Object
| java.lang.Object | |
| ↳ | android.support.text.emoji.widget.EmojiEditTextHelper |
Utility class to enhance custom EditText widgets with EmojiCompat.
public class MyEmojiEditText extends EditText {
public MyEmojiEditText(Context context) {
super(context);
init();
}
// ...
private void init() {
super.setKeyListener(getEmojiEditTextHelper().getKeyListener(getKeyListener()));
}
@Override
public void setKeyListener(android.text.method.KeyListener keyListener) {
super.setKeyListener(getEmojiEditTextHelper().getKeyListener(keyListener));
}
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
return getEmojiEditTextHelper().onCreateInputConnection(inputConnection, outAttrs);
}
private EmojiEditTextHelper getEmojiEditTextHelper() {
if (mEmojiEditTextHelper == null) {
mEmojiEditTextHelper = new EmojiEditTextHelper(this);
}
return mEmojiEditTextHelper;
}
}
Summary
Public constructors | |
|---|---|
EmojiEditTextHelper(EditText editText)
Default constructor. |
|
Public methods | |
|---|---|
KeyListener
|
getKeyListener(KeyListener keyListener)
Attaches EmojiCompat KeyListener to the widget. |
int
|
getMaxEmojiCount()
Returns the maximum number of EmojiSpans to be added to a CharSequence. |
InputConnection
|
onCreateInputConnection(InputConnection inputConnection, EditorInfo outAttrs)
Updates the InputConnection with emoji support. |
void
|
setMaxEmojiCount(int maxEmojiCount)
Set the maximum number of EmojiSpans to be added to a CharSequence. |
Inherited methods | |
|---|---|
java.lang.Object
| |
Public constructors
EmojiEditTextHelper
EmojiEditTextHelper (EditText editText)
Default constructor.
| Parameters | |
|---|---|
editText |
EditText: EditText instance
|
Public methods
getKeyListener
KeyListener getKeyListener (KeyListener keyListener)
Attaches EmojiCompat KeyListener to the widget. Should be called from setKeyListener(KeyListener). Existing keyListener is wrapped into EmojiCompat
KeyListener. When used on devices running API 18 or below, this method returns
keyListener that is given as a parameter.
| Parameters | |
|---|---|
keyListener |
KeyListener: KeyListener passed into setKeyListener(KeyListener) |
| Returns | |
|---|---|
KeyListener |
a new KeyListener instance that wraps keyListener.
|
getMaxEmojiCount
int getMaxEmojiCount ()
Returns the maximum number of EmojiSpans to be added to a CharSequence.
| Returns | |
|---|---|
int |
|
onCreateInputConnection
InputConnection onCreateInputConnection (InputConnection inputConnection, EditorInfo outAttrs)
Updates the InputConnection with emoji support. Should be called from onCreateInputConnection(EditorInfo). When used on devices running API 18 or below,
this method returns inputConnection that is given as a parameter. If
inputConnection is null, returns null.
| Parameters | |
|---|---|
inputConnection |
InputConnection: InputConnection instance created by TextView |
outAttrs |
EditorInfo: EditorInfo passed into
onCreateInputConnection(EditorInfo) |
| Returns | |
|---|---|
InputConnection |
a new InputConnection instance that wraps inputConnection
|
setMaxEmojiCount
void setMaxEmojiCount (int maxEmojiCount)
Set the maximum number of EmojiSpans to be added to a CharSequence. The number of spans in a CharSequence affects the performance of the EditText insert/delete operations. Insert/delete operations slow down as the number of spans increases.
| Parameters | |
|---|---|
maxEmojiCount |
int: maximum number of EmojiSpans to be added to a single CharSequence,
should be equal or greater than 0 |
See also: