2016-12-30 9 views
2

キーボード(入力方法)の拡張機能を実装しようとしています。
私はラップすることができるデュアルキーボード・リソース/実装があるのだろうかと思います。たとえば、ユーザーが「Default kbd」ブロックを押すと、「qwerty」ブロックがデフォルトのアンドロイドキーボードとして表示されます。「私の内線」ブロックqwertyを押してください。 注:私はrebuilnd defualtキーボードなしでカスタムインプットメソッドを作成する(存在する場合)の方法を探して、ないあなたが、残念ながら何をしようとして、このhttps://github.com/chiragjain/Emoticons-Keyboardデフォルトのアンドロイドキーボードをラップすることは可能ですか

enter image description here

答えて

0

あなたはこのようなシナリオを表示するために、独自のカスタムキーボードを作成する必要があります。あなたのキーボードでは、一度に2つの異なるレイヤーを維持することができます。

<android.inputmethodservice.KeyboardView 
    android:id="@+id/keyboardView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:visibility="gone" 
    android:keyBackground="@color/background_color" 
    android:keyTextColor="#37474F" 
    android:keyTextSize="20sp" 
    android:fontFamily="sans-serif" 
    android:background="#ECEFF1"/> 

リソースは、次のとおりです:

https://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615

http://www.fampennings.nl/maarten/android/09keyboard/index.htm

これらの実施例は、単にキー表現に例を表示していましたけれども、あなたが簡単に任意のXMLを追加することができますので、あなたが必要となるすべてがKeyboardViewクラスでありますキーボードレイヤーとして。

3

のようなアプリのみキーボードカバー不可能である。

オープンソースのキーボード実装を見つけて構築してみてください。 デフォルトのLatinIMEを実装している場合はthis GitHub repositoryを参照し、ベースとして使用してください。

0

あなたは次のトリックを試すことができます。

  1. が示されているキーボードの瞬間を検出します。
  2. レイアウトの下部を評価します。
  3. キーボードのすぐ上にUIを表示します。
  4. キーボードを隠しているときにUIを非表示にします。

キーボードのモード(adjustResizまたはadjustPan)によって「2」と「3」が少し異なります。

お役立ちリンク:

関連する問題