System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,具體涉及一種以嵌套滾動方式顯示信息的方法及計算設備。
技術介紹
1、很多app內容頁面渲染方式為混合渲染方式,其既包含移動端原生的渲染部分,也包含webview的渲染部分。當頁面需要從原生的滾動容器下滑至webview時,一般通過下滑動畫的形式來過渡,以規避嵌套滾動問題的出現。然而,通過下滑動畫的形式過渡過程中,存在明顯的卡頓現象,用戶體驗較差。
2、為此,需要一種技術方案,能夠解決當移動端復雜交互頁面存在多個可滾動視圖且滾動視圖相互嵌套時滾動手勢存在的沖突問題。
技術實現思路
1、本申請旨在提供一種以嵌套滾動方式顯示信息的方法及計算設備,能夠解決多個滾動容器嵌套滾動問題。
2、根據本申請的一方面,提供一種以嵌套滾動方式顯示信息的方法,所述方法應用于交互界面的父容器以及位于所述父容器內彼此鄰接的用于加載和顯示信息的至少一個滑動子容器,所述父容器包括用于使信息可見的可視窗口,所述至少一個滑動子容器的高度均為所述可視窗口的高度,所述方法包括:
3、在當前滑動子容器可滑動且完全位于所述可視窗口內時,將滾動分配至所述當前滑動子容器,直至所述當前滑動子容器滑至末端;
4、在所述當前滑動子容器滑至末端后,所述父容器接管滑動事件從而滑動自身,直至滑動方向上的相鄰滑動子容器到達所述可視窗口的端部。
5、根據一些實施例,在所述當前滑動子容器接收到滑動一段距離的請求后,所述父容器在所述當前滑動子容器處理所述請求之后和處理
6、根據一些實施例,在當前滑動子容器接收到滑動一段距離的請求后,通知所述父容器;如果所述父容器滑動,則在滑動之后通知當前滑動子容器已消耗的第一滑動距離,從而當前滑動子容器處理剩下的第二滑動距離;當前滑動子容器滑動完畢后,將剩下的第三滑動距離通知給所述父容器。
7、根據一些實施例,前述方法還包括:
8、響應于用戶停止觸摸交互界面,計算當前產生的滾動速度,并將所述滾動速度傳遞至所述父容器;
9、所述父容器根據子容器狀態對所述滾動速度進行分發。
10、根據一些實施例,所述父容器根據子容器狀態對所述滾動速度進行分發,包括:
11、如果當前滑動子容器可滑動且完全位于所述可視窗口內時,將滾動分配至所述當前滑動子容器,當前滑動子容器根據所述滾動速度執行滾動;否則,所述父容器接管滑動事件從而滑動自身,直至滑動方向上的相鄰滑動子容器到達所述可視窗口的端部;
12、在當前滑動子容器根據所述滾動速度執行滾動時,如果當前滑動子容器滾動到盡頭且所述滾動速度未被消耗完,則剩下的滾動速度交還給所述父容器。
13、根據一些實施例,前述方法還包括:
14、響應用戶對目標滑動子容器的標簽的點擊,根據所述父容器記錄的所述目標滑動子容器的邊界,計算所述父容器當前的滑動位置與所述模板滑動子容器的邊界的距離,然后將所述父容器滑動相應的距離,并將當前滑動子容器與目標滑動子容器之間的內容滾至末端。
15、根據一些實施例,前述方法還包括:
16、監聽所述父容器的滾動事件,在所述父容器將產生滑動行為時進行滑動監聽,當所述父容器的滑動偏移量滿足小于下一個滑動子容器的相應邊界值且大于或等于所述相應邊界值與滑動距離的差值,進行標簽錨點切換。
17、根據一些實施例,前述方法還包括:
18、在當前滑動子容器完全位于所述可視窗口內且產生滑動行為時,開始加載下一個滑動子容器的內容。
19、根據一些實施例,所述至少一個滑動子容器包括原生容器和webview容器。
20、根據本申請的另一方面,提供一種計算設備,包括:
21、處理器;以及
22、存儲器,存儲有計算機程序,當所述計算機程序被所述處理器執行時,使得所述處理器執行如上任一項所述的方法。
23、根據本申請的另一方面,提供一種非瞬時性計算機可讀存儲介質,其上存儲有計算機可讀指令,當所述指令被處理器執行時,使得所述處理器執行如上任一項所述的方法。
24、根據本申請的實施例,在當前滑動子容器可滑動且完全位于所述可視窗口內時,將滾動分配至所述當前滑動子容器,直至所述當前滑動子容器滑至末端;在所述當前滑動子容器滑至末端后,所述父容器接管滑動事件從而滑動自身,直至滑動方向上的相鄰滑動子容器到達所述可視窗口的端部,從而能夠將多個滑動子容器進行聯動,解決了混合渲染場景下的嵌套滾動問題。另外,根據本申請的一些實施例,還實現了嵌套慣性滾動、錨點機制以及懶加載等。
25、應當理解的是,以上的一般描述和后文的細節描述僅是示例性的,并不能限制本申請。
本文檔來自技高網...【技術保護點】
1.一種以嵌套滾動方式顯示信息的方法,其特征在于,所述方法應用于交互界面的父容器以及位于所述父容器內彼此鄰接的用于加載和顯示信息的至少一個滑動子容器,所述父容器包括用于使信息可見的可視窗口,所述至少一個滑動子容器的高度均為所述可視窗口的高度,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在所述當前滑動子容器接收到滑動一段距離的請求后,所述父容器在所述當前滑動子容器處理所述請求之后和處理所述請求之后對所述請求進行響應。
3.根據權利要求2所述的方法,其特征在于,
4.根據權利要求1所述的方法,其特征在于,還包括:
5.根據權利要求4所述的方法,其特征在于,所述父容器根據子容器狀態對所述滾動速度進行分發,包括:
6.根據權利要求1所述的方法,其特征在于,還包括:
7.根據權利要求6所述的方法,其特征在于,還包括:
8.根據權利要求7所述的方法,其特征在于,還包括:
9.根據權利要求1所述的方法,其特征在于,所述至少一個滑動子容器包括原生容器和webview容器。
1
...【技術特征摘要】
1.一種以嵌套滾動方式顯示信息的方法,其特征在于,所述方法應用于交互界面的父容器以及位于所述父容器內彼此鄰接的用于加載和顯示信息的至少一個滑動子容器,所述父容器包括用于使信息可見的可視窗口,所述至少一個滑動子容器的高度均為所述可視窗口的高度,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在所述當前滑動子容器接收到滑動一段距離的請求后,所述父容器在所述當前滑動子容器處理所述請求之后和處理所述請求之后對所述請求進行響應。
3.根據權利要求2所述的方法,其特征在于,
4...
【專利技術屬性】
技術研發人員:王小龍,徐冬蘇,姚堯,
申請(專利權)人:阿里巴巴中國網絡技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。