Comment faire pour désactiver les émoticônes d'être entré dans Android EditText?
La plupart des implémentations de la text
inputType (autres que URI, mot de passe, etc.) pour EditText et TextView permettre Emoji - bien que dans la plupart des Google clavier configurations de ce bouton est caché. Est-il un moyen de désactiver les Émoticônes d'être entré dans un EditText? Est-il un inputType paramètre qui peut être jumelé avec textMultiLine
qui permettrait de désactiver les Émoticônes?
- Essayez ceci: stackoverflow.com/questions/23560686/... Il fonctionne sur un TextView et AutoCompleteTextView.
- Kotlin Solution ici - stackoverflow.com/a/52947835/3333878
Vous devez vous connecter pour publier un commentaire.
Modifier construire.gradle fichier, ajouter XEditText à votre projet:
après que, dans votre layout.xml:
Ou:
Personnaliser EditText comme ceci:
Les deux fonctionnent très bien !
Character.SURROGATE
etCharacter.OTHER_SYMBOL
ont été la clé pour moi.Il est difficile chemin de la désactivation de l'emoji clavier..
vous avez juste à définir
android:inputType="textEmailAddress"
pour
EditText
..Je ne suis pas sûr que cela fonctionnera dans tous les cas, mais dans mon cas cela a fonctionné pour moi...
Il y a une valeur
digits
disponibles dans le fichier xml pour EditText. Vous pouvez y placer tous acceptables caractères.Je sais, c'est pas la meilleure solution mais fonctionne 🙂
Code de @woxingxiao fonctionne très bien, jusqu'à ce que vous indiquez tout inputType dans votre xml, par exemple
android:inputType="textMultiLine"
.J'ai changé un peu sa proposition et je pense que cela fonctionne très bien.
Vous pouvez écrire filtre de liste noire/liste blanche des personnages
Ensuite définie comme EditText filtres;
Il n'y a rien de ce qui sera 100% désactiver les émoticônes. Le clavier peut s'agir de n'importe quel mode il voit quelle que soit la façon dont il pense le mieux, alors il n'y a pas de réglage qui permettra d'éviter des emoji. Si vous devez le prévenir, de le faire par blanche ou liste noire de caractères avec un TextWatcher.
Ajouter cet emoji classe de filtre:
Et de désactiver les émoticônes en modifier le texte, faites ceci:
Il y avait quelques emoji, qui sont capables de type j'ai donc ajouté:
dans la condition if.
Vous pouvez utiliser le filtre d'entrée pour la suppression de l'onu voulu des personnages, Ici j'ai utilisé des valeurs ascii pour le filtrage.
}
Une autre solution:
mEtMessageText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS | InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
Dans cet exemple, il montre le bouton ENTER
InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS est l'équivalent pour android:inputType="textEmailAddress" dans le XML de mise en page
Essayer
android:inputtype="textUri|textMultiLine"
.Dans ce paramètre, le clavier va changer le bouton de saisie vocale de '/' bouton.