手写软键盘Android

时间:2017-05-04 12:41:27

标签: android android-softkeyboard custom-keyboard handwriting

我正在开发一个Android键盘应用程序,它应该显示绘图画布而不是基于普通键的软键盘。就像Google's Handwriting keyboard一样,我不想实现候选人观点或做手写识别。我的键盘只会将文本放在画布上并将其作为图像发送。

然而,在研究了很多之后,我仍然无法显示画布视图而不是键盘视图。我跟着说:

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

但是这会添加一个带键盘的键盘视图。我不想要数字或字符键盘。我只是希望键盘显示一个空白的画布,我可以画画,一旦完成,它应该发送该图像。

我也尝试过这样的布局:

<?xml version="1.0" encoding="utf-8"?>
<android.inputmethodservice.KeyboardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:keyBackground="@drawable/square_rounded"
    android:background="#ffffff">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/mainLinearLayout">

    <RelativeLayout
        android:id="@+id/keyboardLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:text="Cancel"
            android:layout_alignParentLeft="true">
        </Button>

        <Button
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:text="Done"
            android:layout_alignParentRight="true">
        </Button>

        <LinearLayout
            android:layout_alignParentTop="true"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </LinearLayout>
    </RelativeLayout>
</LinearLayout>
</android.inputmethodservice.KeyboardView>

然后尝试加载它:

kv = (KeyboardView)getLayoutInflater().inflate(R.layout.draw_signature, null);
//            keyboard = new Keyboard(this, R.xml.drawing_keyboard);
//            kv.setKeyboard(keyboard);
kv.setOnKeyboardActionListener(this);
kv.setPreviewEnabled(false);
return kv;

任何帮助或教程链接都将不胜感激。

谢谢, 阿南德

0 个答案:

没有答案