Protopie進(jìn)階教程--列表橫滑操作實(shí)現(xiàn)

對單條列表進(jìn)行橫向滑動(dòng)顯示其支持的操作項(xiàng)帮寻,是一種比較常見的移動(dòng)端交互方式弥鹦。本案例將以任務(wù)列表頁面為例向抢,使用Protopie軟件來實(shí)現(xiàn)單條任務(wù)列表左滑刪除迄本、右滑設(shè)為完成的效果。


涉及到的基本Protopie功能

○? Protopie組件的使用

○? 觸發(fā):拖拽课竣、監(jiān)聽嘉赎、抬起、長按

○? 反應(yīng):移動(dòng)于樟、透明度公条、大小

實(shí)現(xiàn)效果

案例具體實(shí)現(xiàn)效果

本案例在任務(wù)列表頁面中對于單條列表均支持左右滑動(dòng)。向左滑動(dòng)顯示刪除操作迂曲,當(dāng)滑動(dòng)超過設(shè)定距離或點(diǎn)擊刪除按鈕時(shí)靶橱,刪除該條任務(wù)并將之后當(dāng)任務(wù)進(jìn)行上移。向右滑動(dòng)顯示設(shè)為已完成操作路捧,同樣的當(dāng)滑動(dòng)距離超過設(shè)定距離或點(diǎn)擊設(shè)為完成按鈕時(shí)关霸,對任務(wù)文本添加刪除線表示其已完成。

實(shí)現(xiàn)思路

左后橫滑的操作及范圍分析

由于單條列表是支持左右滑動(dòng)杰扫,并基于用戶的滑動(dòng)距離實(shí)現(xiàn)不同的反饋队寇,這在Protopie中主要通過用戶滑動(dòng)操作抬起后列表本身的位置X來進(jìn)行判斷的。如圖所示章姓,將界面的橫軸分為5個(gè)不同區(qū)段佳遣,分別為直接刪除區(qū)域、顯示刪除按鈕區(qū)域凡伊、不顯示操作項(xiàng)區(qū)域零渐、顯示設(shè)為完成按鈕區(qū)域、直接設(shè)為完成區(qū)域系忙,當(dāng)用戶抬起操作執(zhí)行時(shí)诵盼,列表錨點(diǎn)X落入不同范圍執(zhí)行對應(yīng)操作。

操作范圍圖示

利用組件提升效率

Protopie在4.0版本上新增了組件功能银还,通過建立組件拦耐,可以將同類的動(dòng)效組件快速應(yīng)用到不同場景,避免不必要的重復(fù)性工作见剩,提高原型制作效率杀糯。本案例中的任務(wù)列表頁面中每個(gè)單條的列表支持的觸發(fā)及反應(yīng)一致,可以通過建立單條列表的組件并在具體場景中復(fù)用苍苞,來減少重復(fù)設(shè)置提升效率固翰。

○ ?新建組件:一種是在具體場景頁面中選取要建立的組件所涉及的所有圖層狼纬,點(diǎn)擊上端的“組件”或者右鍵選擇“創(chuàng)建組件”實(shí)現(xiàn)組件的建立。另一種可以直接在組件管理面板中點(diǎn)擊加號新建一個(gè)空的組件對象骂际。

添加組件的兩種方式入口

○ ?使用及編輯組件:組件編輯完成后疗琉,回到場景,可以直接將編輯好的組件從左側(cè)拖入到畫板歉铝,實(shí)現(xiàn)組件的調(diào)用盈简。根據(jù)使用場景的不同,可以對組件做單獨(dú)調(diào)整太示,像本案例中可以編輯列表中的文本內(nèi)容柠贤。如果需要調(diào)整組件母版,點(diǎn)擊左側(cè)的組件圖標(biāo)类缤,雙擊要修改的組件即可編輯臼勉。還可以在場景中選中一個(gè)調(diào)整后的組件,勾選“設(shè)置為母版組件”餐弱,完成后組件組件在圖層列表中的顏色變化宴霸,這樣對其的調(diào)整會同步到其他組件上。

設(shè)置為母版組件方式及設(shè)置成功后視效差異

不同長度文本的刪除線添加

案例中當(dāng)任務(wù)列表設(shè)為完成后對具體的文本會添加刪除線膏蚓,并且刪除線有從左向右展開的動(dòng)效瓢谢。Protopie中文本的樣式中沒有刪除線的設(shè)置,所以實(shí)現(xiàn)是我們需要使用矩形來實(shí)現(xiàn)驮瞧。同時(shí)由于對于列表我們使用了組件恩闻,所以具體效果需要根據(jù)文本的長度實(shí)現(xiàn)調(diào)整。這里涉及Protopie中的文本處理表達(dá)式?length(source:TEXT)剧董,支持計(jì)算文本的長度(字符數(shù)+空格數(shù))幢尚,乘上單個(gè)文字的長度就可以獲得文本刪除線的寬度。

文本長度函數(shù)說明


具體實(shí)現(xiàn)步驟

Step 1

新建Protopie文件翅楼,將Figma的頁面設(shè)計(jì)文檔導(dǎo)入到Protopie中尉剩。選擇單獨(dú)的一行列表,及其對應(yīng)的刪除提示&設(shè)為完成提示毅臊,建立組件理茎。利用組件復(fù)制出多個(gè)列表并添加到滾頁容器中,實(shí)現(xiàn)基本視效管嬉。

基本視效界面

Step 2

進(jìn)入組件皂林,首先實(shí)現(xiàn)列表的左右滑動(dòng),使其支持拖拽進(jìn)行橫向移動(dòng)蚯撩,并監(jiān)聽列表的X的位置判斷左右移動(dòng)的方向顯示刪除提示或設(shè)為完成提示础倍。

拖拽及監(jiān)聽設(shè)置

Step 3

添加抬起觸發(fā),當(dāng)抬起列表時(shí)胎挎」灯簦基于之前的橫滑范圍及具體操作的分析忆家,設(shè)定列表X不同范圍區(qū)間下抬起操作的對應(yīng)反應(yīng)。

其中當(dāng)列表的?X≥327?對應(yīng)直接設(shè)為完成的范圍下德迹,對預(yù)先設(shè)置的文字蒙層及刪除線添加大小變化芽卿,大小變至表達(dá)式?length(`task name`.text)*9?

列表抬起觸發(fā)設(shè)置

Step 4

當(dāng)用戶拖動(dòng)過程中胳搞,列表X的值在直接刪除或直接設(shè)為完成的范圍內(nèi)時(shí)卸例,移動(dòng)delete及checked的圖標(biāo)以提示操作直接生效,但當(dāng)用戶拖動(dòng)到其他三個(gè)范圍內(nèi)時(shí)則將delete及checked圖標(biāo)移動(dòng)至初始位置肌毅。在對列表X的監(jiān)聽中增加對于的條件及反應(yīng)設(shè)置筷转。

列表 位置X?的監(jiān)聽設(shè)置

Step 5

在組件中對delete及checked圖標(biāo)添加單擊觸發(fā),使其在點(diǎn)擊后實(shí)現(xiàn)列表刪除或設(shè)為完成的對應(yīng)反應(yīng)芽腾。可以測試一下页衙,到這一步列表組件的部分就實(shí)現(xiàn)完成了摊滔。

delete & checked 圖標(biāo)單擊觸發(fā)設(shè)置

Step 6

回到場景中,我們會發(fā)現(xiàn)目前就遺留一個(gè)問題就是店乐,當(dāng)任務(wù)列表刪除后艰躺,組件中設(shè)置的列表高度縮放消失,在列表序列中會導(dǎo)致新增出空缺行的問題眨八。為解決這問題腺兴,我們需要在場景中對每一個(gè)調(diào)用的列表組件添加一個(gè)高度比的監(jiān)聽觸發(fā),當(dāng)其高度發(fā)生縮放時(shí)(刪除操作生效時(shí))廉侧,向上移動(dòng)該列表之下的所有列表組件页响。案例中一共設(shè)置了9行列表,所以對應(yīng)第4行列表高度變化時(shí)段誊,第5-9行都需要增加一個(gè)向上移動(dòng)的設(shè)置如下圖所示闰蚕。

組件 高度比 監(jiān)聽設(shè)置

所有設(shè)置都完成后,便可以在預(yù)覽窗中連接手機(jī)查看效果啦~~


案例源文件下載&預(yù)覽

https://cloud.protopie.io/p/2dbc6cb9d4


本篇教程 作者:Annie

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末连舍,一起剝皮案震驚了整個(gè)濱河市没陡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌索赏,老刑警劉巖盼玄,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異潜腻,居然都是意外死亡埃儿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門融涣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝌箍,“玉大人青灼,你說我怎么就攤上這事〖嗣ぃ” “怎么了杂拨?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長悯衬。 經(jīng)常有香客問我弹沽,道長,這世上最難降的妖魔是什么筋粗? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任策橘,我火速辦了婚禮,結(jié)果婚禮上娜亿,老公的妹妹穿的比我還像新娘丽已。我一直安慰自己,他們只是感情好买决,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布沛婴。 她就那樣靜靜地躺著,像睡著了一般督赤。 火紅的嫁衣襯著肌膚如雪嘁灯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天躲舌,我揣著相機(jī)與錄音丑婿,去河邊找鬼。 笑死没卸,一個(gè)胖子當(dāng)著我的面吹牛羹奉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播约计,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼尘奏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了病蛉?” 一聲冷哼從身側(cè)響起炫加,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铺然,沒想到半個(gè)月后俗孝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡魄健,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年赋铝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽瘦。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡革骨,死狀恐怖农尖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情良哲,我是刑警寧澤盛卡,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站筑凫,受9級特大地震影響滑沧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巍实,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一滓技、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棚潦,春花似錦令漂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至原环,卻和暖如春挠唆,著一層夾襖步出監(jiān)牢的瞬間处窥,已是汗流浹背嘱吗。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滔驾,地道東北人谒麦。 一個(gè)月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像哆致,于是被迫代替她去往敵國和親绕德。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 導(dǎo)讀計(jì)時(shí)器——用戶可設(shè)定時(shí)間段摊阀,點(diǎn)擊開始后時(shí)間倒數(shù)耻蛇,直到結(jié)束。本案例中用戶可以設(shè)定24小時(shí)以內(nèi)的任意時(shí)間值進(jìn)行倒計(jì)...
    二樓自習(xí)室閱讀 2,323評論 1 2
  • 最近感覺自己好像又頹廢了很多胞此,好幾天沒有堅(jiān)持早起了臣咖,不早起就不去晨跑,晚上因?yàn)楹芏嘣蛞矝]有看書漱牵,好幾天這樣的日子...
    兮兮_d9f8閱讀 226評論 0 1
  • 〔原文】詩云:“緡蠻黃鳥夺蛇,止于丘隅『ㄕ停”子曰:“于止刁赦,知其所止娶聘,可以人而不如鳥乎?” 【張居正講解】《詩》甚脉,是《小雅...
    張永良小霖閱讀 1,004評論 0 1
  • 望眼欲穿用來形容我現(xiàn)在的工作在貼切不過了丸升,職業(yè)汽車人。 每天都在忙碌中等待著宦焦,等待著電話邀約的客戶進(jìn)店发钝,乃至成交。...
    意境隨心閱讀 490評論 0 0