是否可以包装默认的Android键盘

时间:2016-12-30 11:07:02

标签: android keyboard

我正在尝试实现对键盘的扩展(输入法) 我想知道是否有一个defualt键盘资源/实现,我可以包装。例如,如果用户按下'默认kbd'块'qwerty'显示为默认的android键盘,我按'我的扩展'块qwerty替换为扩展名。 注意:我正在寻找创建自定义输入法而不使用rebuilnd defualt键盘的方法(如果存在),而不是像这样的应用键盘封面https://github.com/chiragjain/Emoticons-Keyboard

enter image description here

3 个答案:

答案 0 :(得分:3)

不幸的是,你不能尝试做什么。

尝试找到一个开源键盘实现并在其上构建。 有关默认LatinIME的有效实现,请参阅this GitHub repository,将其用作基础。

答案 1 :(得分:0)

您可以尝试下一个技巧:

  1. 检测键盘显示的时刻。
  2. 评估布局的底部。
  3. 在键盘上方显示您的用户界面。
  4. 在键盘隐藏的那一刻隐藏您的UI。
  5. " 2"和" 3"根据键盘显示模式(adjustResiz或adjustPan)略有不同。

    有用的链接:

答案 2 :(得分:0)

您必须创建自己的自定义键盘才能显示此类方案。在键盘上,您可以一次维护两个不同的图层。所以你需要的只是KeyboardView class:

<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添加为键盘图层。