今儿个,咱来聊聊MotionEvent这个东西,这玩意儿可跟咱平时玩手机息息相关。
话说有一天,我突发奇想,想搞明白咱平时点手机屏幕的时候,到底发生于是乎,我就一头扎进安卓开发的海洋里,开始研究这个叫MotionEvent的东西。
我是两眼一抹黑,啥也不懂。后来查资料才知道,原来咱每次点屏幕,不管是轻轻一点,还是使劲一划拉,系统都会给咱生成一个MotionEvent对象。这对象里头,记录咱手指头跟屏幕亲密接触的全过程。
实践开始
我先是找个能打印MotionEvent信息的地儿。这可费我老大劲,又是翻书又是查资料的。总算是让我给找到。
我就开始各种“蹂躏”我的手机屏幕。我先是轻轻点一下,出来一串信息,说是ACTION_DOWN。我一琢磨,这down不就是按下的意思嘛看来是检测到我手指头按下去。
然后,我又开始在屏幕上乱划拉。这回出来的信息可多,一堆ACTION_MOVE,还带着各种坐标数字。我猜这应该是记录我手指头在屏幕上移动的轨迹。
我把手指头抬起来。又出来一条信息,ACTION_UP。这up嘛肯定是抬起的意思。这下我算是明白,系统就是靠这几个动作来判断咱的手指头在屏幕上干
为更深入地解,我还特意去看看MotionEvent的源码。不看不知道,一看吓一跳,里头东西还真不少。不过咱今儿个就先不扯那些太专业的,先把这几个主要的动作搞明白就行。
总结一下
经过这么一番折腾,我对MotionEvent算是有个初步的认识。简单来说,它就像个“侦察兵”,时刻监视着咱手指头在屏幕上的动作,并把这些动作信息汇报给系统。系统再根据这些信息,做出相应的反应,比如打开应用、滑动页面等等。
虽然现在人工智能啥的越来越厉害,咱以后可能动动嘴皮子就能操作手机。但至少目前来说,MotionEvent还是挺重要的。解它,对咱理解手机的工作原理还是很有帮助的。
今儿个就先分享到这儿,以后有啥新的发现,再来跟大伙儿唠嗑!