準(zhǔn)備??prepare
首先残家,你要有一個(gè)很長很長的頁面……在這里,我是仿照餓了么app做了一個(gè)長頁面售躁。
然后給這個(gè)頁面做垂直拖動(dòng)和拖動(dòng)限制坞淮,不會(huì)坐的請(qǐng)移步之前的教程:兩種方法打造手機(jī)垂直劃屏
注:在這里,我是用的拖動(dòng)動(dòng)態(tài)面板的方法制作的劃屏陪捷,而不是滾動(dòng)條回窘。
吸附? ?adsorb
明確需要吸附的內(nèi)容,將要吸附的內(nèi)容轉(zhuǎn)化為動(dòng)態(tài)面板市袖。
例如我這里啡直,我需要吸附的是搜索和排序2個(gè)內(nèi)容。
?吸附原理?頁面往上拖出去了多少苍碟,就把需要吸附的內(nèi)容移回來多少蹂安,這樣它才能保持位置不變镰禾。
以下用到的局部變量說明:
1、page:元件 > 動(dòng)態(tài)面板-內(nèi)容頁(很長的那個(gè)頁面)
2、search:元件 > 動(dòng)態(tài)面板-搜索
?吸附方法?
● 動(dòng)態(tài)面板-搜索
它的Y坐標(biāo)為45痹升。所以在拖動(dòng)頁面時(shí)候了袁,如果頁面的y坐標(biāo)小于-45贷屎,就應(yīng)該將搜索移動(dòng)到-page.y的位置舀奶。否則呢,就要把動(dòng)態(tài)面板-搜索移回原來的位置(0,45)仗扬。
● 動(dòng)態(tài)面板-排序
它的Y坐標(biāo)為450症概。所以在拖動(dòng)頁面時(shí)候,如果頁面的y坐標(biāo)小于-450早芭,就應(yīng)該將搜索移動(dòng)到-page.y的位置彼城。否則呢,就要把動(dòng)態(tài)面板-搜索移回原來的位置(0,450)退个。
但是精肃!上面已經(jīng)有一個(gè)搜索被吸附住了,所以我們應(yīng)該讓排序在搜索下面出現(xiàn)帜乞,所以應(yīng)該在原基礎(chǔ)上加上搜索的高度。也就是筐眷,如果頁面的y坐標(biāo)小于-450+search.height黎烈,就應(yīng)該將搜索移動(dòng)到-page.y+search.height的位置。