web-dev-qa-db-ja.com

Android:Emoji Viewでソフトキーボードをプログラムで開く方法

私が見たように、Android=でデフォルトの絵文字を表示する方法は、入力テキストで以下を使用することです。

Android:inputType="textMultiLine|textShortMessage"

検索すると、Javaを使用してこれを行う方法が見つかりません。ソフトキーボードが開いているときに、絵文字表示と通常のキーボード表示を切り替えるボタンをユーザーにタブで持たせたいと思います。

カスタム絵文字キーボード

私はこれをすでに実装しましたが、ポストキックカット用のデバイスですでに絵文字を使用する方がはるかに優れており、軽くなります。

Googleはこのビューを切り替えます。

Google Alloで、editText内の絵文字アイコンを押すと、ビューが切り替わります。

17
Relm

しばらく試してみたが、 キーイベントの挿入 でもこの目標を達成できなかった。

Google Alloを見ると、これはカスタム実装のように見えます。私はswitftkeyをテーマにしたキーボードを持っていますが、KitKat Moto G(第1世代)では非常に注目に値します。私はネイティブキーボードを備えたMarshmallow Moto G(第2世代)でもテストしましたが、契約しましたが、これは本物のソフトキーボードではないことがわかります。

enter image description here

カスタム絵文字の実装 なしでこれを達成する方法はないと思います。

2
crgarridos

TextView

TextViewの input type を使用すると、必要なものが含まれません...

キーボード

利用可能な keyboards のリストをユーザーに表示できるようです。 (そのデバイスで利用可能なもの)

そして、それで 絵文字キーボード が利用可能かどうかを確認します。しかし、少なくともAndroid 4.1が必要らしいようです。

キーボードの一部を強制する

不可能 私の知る限り。 無効にする それらをすることができるようです。

*私はこれを行う方法を示したいと思います、それは行うことができるようにすてきなことのように見えます。しかし、私のgoogle-fuは近くに何も表示しません:(

多分これはあなたを助けるでしょう:

https://blog.swiftkey.com/tech-blog-Android-input-method-subtypes/

以下のリンクをたどるとわかるように、絵文字サブタイプのようなものがあります。

public static RichInputMethodSubtype getEmojiSubtype()

https://Android.googlesource.com/platform/packages/inputmethods/LatinIME/+/master/Java/src/com/Android/inputmethod/latin/RichInputMethodSubtype.Java

1
Reymanx