Android中onTouchListener、onTouchEvent、onClickListener有什麼區別

        在android開發過程中,我們時常會需要與用戶進行信息交互,就會接觸到android的兩種事件處理機制:事件回調機制(onEvent)和事件監聽機制(onListener),那麼他們兩者之間到底有什麼區別呢?我們來舉兩個例子,說明情況。


        首先是onTouchListener(以下簡稱TL)和onTouchEvent(以下簡稱TE),TL是一個接口類,調用它我們首先需要實現它的一個onTouch()抽象類方法,當指定區域監聽到用戶相對應的Action,就會進入該方法進行相應處理;那麼TE其實是View類下面一個方法,和onTouch一樣需要被重寫,在其中我們可以根據不同的touch響應不同的處理方式。所以TL和View都是類,TE和onTouch都是類裏面的方法,我們可以通過這兩種方法處理不同的touch交互Action。


        那麼onTouchListener和OnClickListener(以下簡稱CL)又有何區別呢?很明顯的一點是,它們都是一種Listener監聽機制,而TL可以監聽到點擊事件在onTouch中處理,並傳入兩個參數View和motionEvent,後者可以知道touch有哪些相應的Action,並分別處理,CL可以監聽控件點擊事件在onClick中處理,並只傳入View參數,統一進行點擊處理。


        有了這兩種事件處理機制,我們可以靈活運用,並獲得一個相對更好的用戶體驗,記住對產品來說,用戶至上!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章