公司項目的關系,最近開始研究React Native,由于空鼠操作是公司智能電視除五向鍵操作之外的一大特色,所以,如果采用RN開發項目,空鼠肯定是要實現的。
在網上找了很多資料,最終發現目前React Native還不支持空鼠。。。
最終決定基于React Native與Android事件傳遞的方式實現空鼠事件傳遞,廢話不多說,直接上關鍵代碼。
在Activity中發射空鼠的事件到RN中:
事件的key定為“HoverEvent”,坐標值:x,y
在RN中訂閱該事件:
解析msg,然后處理相關邏輯:
這樣就簡單實現了Hover事件的傳遞,親測效率基本滿足需求。
其實,原理就是使用了RN與Native之間的通信機制,當然實現方式應該還有很多,在此就沒有再進行深入研究了。
RN中使用“nativeEvent"處理Touch,在網上看了一些介紹的資料,又對比了一下git-hub上代碼,發現差異還是有些大,后續如有空閑再做研究。
出現的坑:
1. 在使用“RR”重新刷新頁面之后,事件傳遞就斷開了(先記錄一下,后續研究)