快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

德赢vwin官网手机登录_全屏手写输入的笔迹获取



Android系统中,今朝没有一个接口可以让利用随时获取Touch事故,而这个功能恰好是全屏手写中很紧张的一个部分。 手写输入的实现主要分为3个部分:

1、笔画的获取

2、笔画的绘制

3、笔画的识别

在以往broncho项目中,根据日常平凡的交流和对WM的粗略打仗,以往全屏手写的笔画获取都是在WM里处置惩罚来实现笔画数据获取的。这一次在android系统上实现全屏手写,轻细改变了一下思路:

1、WM供给一个touch事故发送接口,让利用可以注册一个touch事故监听。事故监听函数返回true,WM不再处置惩罚这个事故,返回false,W德赢vwin官网手机登录M继承分发这个事故。

2、WM供给一个touch事故发送接口,让利用可以模拟发送touch事故。

3、改动WM事故分发函数,在分发touch事故到利用前,先调用事故监听函数。发送touch事故的接口可以直接调用WM的接口。

4、WM就做了这些改动,笔画的获取处置惩罚放到了全屏手写输入法中。

根据本日(2009年6月26日)在硬件上的调试结果,这个思路照样机动的,对笔画事故获取的处置惩罚不再必要改动WM,直接改动全屏手写利用,然后安装即可。

今朝的测试结果是笔画的获取还有不德赢vwin官网手机登录够,如多余的MOVE事故没有过滤(多余的MOV德赢vwin官网手机登录E事故便是没有收到DOWN事故时收到了MOVE事故);在模拟器上鼠标点击和实际手指触碰是完全不合的处置惩罚的,导致无法点击按钮。

改动的文件和要点:

添加和实现两个接口

void setGlobalPointerEventListener(IWindow window);

boolean injectGlobalPointerEvent(in MotionEvent event, booleansync)德赢vwin官网手机登录;

frameworks/base/core/java/android/view/IWindowSession.aidl

frameworks/base/services/java/com/android/server/WindowManagerService.java

添加接口

boolean dispatchGlobalPointer(in MotionEvent event, 德赢vwin官网手机登录longeventTime);

frameworks/base/core/java/android/view/IWindow.aidl

添加接口引用

frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java

改动接口实现

frameworks/base/core/java/android/view/ViewRoot.java

frameworks/base/core/java/android/view/SurfaceView.java

您可能还会对下面的文章感兴趣: