欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android之事件分發(fā)機制與沖突詳解

 更新時間:2021年09月07日 15:09:34   作者:冬天的毛毛雨  
這篇文章主要介紹了Android之事件分發(fā)機制與沖突詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

在日常的開發(fā)過程中,我們往往會在同一個界面中出現(xiàn)內(nèi)外兩層或者多層View同時滑動的現(xiàn)象,這個時候往往**會出現(xiàn)滑動沖突。面對滑動沖突,很多開發(fā)人員不知道從哪里入手,**即便稍微有點思路,也要費點時間才能解決。其實滑動沖突的解決是有一定的套路的。

下面主要針對Android開發(fā)中幾種常見的滑動沖突及對應的解決方案來進行講解

常見的滑動沖突場景!

目前常見的滑動沖突主要可以分為以下三種來概括:

  1. 外部滑動方向和內(nèi)部View的滑動方向不一致,內(nèi)部的View和外部的View的滑動方向是**互相垂直的,**比如Scroll View嵌套View Pager,如圖1-1所示;
  2. 外部滑動方向和內(nèi)部View的滑動方向是一致的,內(nèi)部的View和外部的View的滑動方向**互相平行,**比如Scroll View嵌套RecyclerView ,如圖1-2所示;
  3. 外部滑動方向與內(nèi)部滑動方向即有相同的又有垂直的,也就是以上兩種情況的綜合出現(xiàn),這種情況是算比較復雜的一種情況,如圖1-3所示。

圖片

常見滑動沖突的處理思路!

滑動沖突看起來比較棘手,特別像場景3的那種嵌套好幾層的滑動沖突。

但不管滑動沖突多么的復雜,它主要涉及到的都是一些觸摸事件的分發(fā)和攔截,有一定的處理規(guī)則在里面,我們可以根據(jù)規(guī)則來選擇合適的方法來進行處理:

常用的沖突解決的兩種基本思路

(1). 外部攔截法

即重寫父容器的onInterceptTouchEvent方法,根據(jù)父容器是否需要攔截這個事件來返回對應的布爾值,如果父容器需要攔截這個觸摸事件則返回true,如果不攔截則返回false;

圖 2-1

(2). 內(nèi)部攔截法

即父容器不攔截任何的事件,將對應的事件傳遞給子元素,根據(jù)子元素是否需要消耗這個觸摸事件來進行處理,如果子元素不消耗此事件,又會交由父容器來進行對應的處理,子容器需要做如圖2-2處理,父容器需要做如圖2-3所示處理。

圖 2-2

圖 2-3

同時,事件沖突也是一線互聯(lián)網(wǎng)大廠中的必考題,來看看下面這些問題你能答上來幾個?

  1. 說說你對事件分發(fā)機制的理解。(阿里面試真題)
  2. down事件和move事件對應的流程機制是什么?(騰訊面試真題)
  3. 事件沖突中如何快速找到解決方案,請舉例。(字節(jié)面試真題)
  4. ScrollView 和RecyclerView 沖突時,如何解決?(百度面試真題)

所以說,關于解決事件沖突的技巧,也是大家需要掌握其中精髓的!

但如果通過博客文章學習,看完后自身是感覺學到了,一旦項目中出現(xiàn)了事件沖突的問題,很難將文章中的知識點運用到實際問題當中,而很多開發(fā)者在解決事件沖突中遇到的最大問題,就是很難找到解決問題的切入點。

到此這篇關于Android之事件分發(fā)機制與沖突詳解的文章就介紹到這了,更多相關Android之事件分發(fā)機制與沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Android實現(xiàn)帶圓環(huán)的圓形頭像

    Android實現(xiàn)帶圓環(huán)的圓形頭像

    這篇文章主要為大家詳細介紹了Android實現(xiàn)帶圓環(huán)的圓形頭像,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Android開發(fā)Retrofit源碼分析

    Android開發(fā)Retrofit源碼分析

    這篇文章主要為大家介紹了Android開發(fā)Retrofit源碼分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Android手機號碼歸屬地的查詢

    Android手機號碼歸屬地的查詢

    這篇文章主要介紹了Android手機號碼歸屬地的查詢,使用聚合數(shù)據(jù)API,獲取JSON數(shù)據(jù)并解析,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 解決Android Device Monitor 的 File Explorer 中無法打開某些文件夾的問題

    解決Android Device Monitor 的 File Explorer 中無法打開某些文件夾的問題

    這篇文章主要介紹了解決Android Device Monitor 的 File Explorer 中無法打開某些文件夾的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 一文帶你了解Android系統(tǒng)的啟動流程

    一文帶你了解Android系統(tǒng)的啟動流程

    Android系統(tǒng)的啟動是一個復雜的過程,涉及到多個階段和組件,所以本文將給大家詳細的介紹一下Android系統(tǒng)的啟動流程,文中也有圖片和代碼示例的講解,需要的朋友可以參考下
    2023-09-09
  • Android橫向進度條演示效果

    Android橫向進度條演示效果

    這篇文章主要為大家詳細介紹了Android橫向進度條的演示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Android studio 使用Debugger問題(代碼中含有ndk)

    Android studio 使用Debugger問題(代碼中含有ndk)

    這篇文章主要介紹了Android studio 使用Debugger問題(代碼中含有ndk),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-11-11
  • Android activity堆棧及管理實例詳解

    Android activity堆棧及管理實例詳解

    這篇文章主要介紹了Android activity堆棧及管理實例詳解的相關資料,非常不錯,具有參考借鑒價值,對android activity堆棧相關知識感興趣的朋友一起學習吧
    2016-09-09
  • Android中控制和禁止ScrollView自動滑動到底部的方法

    Android中控制和禁止ScrollView自動滑動到底部的方法

    這篇文章主要給大家介紹了關于Android中控制和禁止ScrollView自動滑動到底部的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • Android啟動模擬器報錯解決方法

    Android啟動模擬器報錯解決方法

    本文將詳細介紹Android模擬器報"Failed To Allocate memory 8"錯誤的解決辦法,需要了解的朋友可以參考下
    2012-12-12

最新評論