android應用開發中有時會有手寫輸入需求,非通過系統鍵盤手寫功能,比如自定義鍵盤,這時就需要自己來實現,一般有兩種場景:一種是類似手寫簽名保存;另一種是真正的手寫輸入,需要將筆跡識別成正確的字符(中文、英文、特殊符號等)。
一:手寫簽名實現較簡單,一般就是通過畫圖保存圖片形式保存即可
? ? ? ? 這里提供一個第三方電子簽名開源框架:android-signaturepad
點擊鏈接參考即可
二、真正的手寫輸入,需要將筆跡識別成正確的字符,這個比較困難,主要是需要將畫點軌跡
轉換成正確字符,這塊是各個輸入法廠家的核心功能,一般不對外開源,都是通過調用so庫形式實現,而庫和調用方法也鮮有介紹。之前扣過某狗輸入法的手寫庫可以使用,大致實現是通過上層抓取畫點軌跡的坐標數組傳給so庫的識別函數得到返回結果。但是那個庫太老了,無法實現快速更新的androidsdk了,只能棄用。
不過后來找到了另一個類似的手寫識別庫,可以適配高版本sdk,順利實現了自定義手寫功能。效果圖如下:
源碼學習可查看:Android實現手寫輸入https://note.youdao.com/s/Br8ilw2C
由于資源難得,無法直接公開,有需要完整源碼Demo的同學可以評論區留下腳印