Axure教程:移動(dòng)端原型頁(yè)面橫縱向滑動(dòng)同時(shí)實(shí)現(xiàn)
現(xiàn)在,移動(dòng)端已經(jīng)逐漸超越了PC端成為了主流,各種手機(jī)APP稱出不窮,占據(jù)了我們的絕大多數(shù)生活,尤其是微信。無(wú)論吃飯、休息,還是工作,我們總不時(shí)地拿出手機(jī),從消息的最頂端往下滑,直至看完所有的小紅點(diǎn),然后從右往左滑過(guò)通訊錄,滑到發(fā)現(xiàn),又是朋友圈的一輪瘋狂閱讀與點(diǎn)贊。喝點(diǎn)雞湯,尋點(diǎn)樂(lè)趣,我們的生活確實(shí)這么無(wú)趣。那么,在做原型的時(shí)候如何實(shí)現(xiàn)剛剛所說(shuō)的橫縱向移動(dòng)呢?下面我將向大家分享一下我的解決方法,希望能幫助到大家。
效果動(dòng)態(tài):
原材料:
步驟/方法
第一步:設(shè)置按鈕的選中效果和組
同時(shí)選中xiaoxi和tongxunlu—元件屬性與樣式“屬性”—在“輸入選項(xiàng)組名稱”中輸入“組”(輸入其他也可以)
同時(shí)選中xiaoxi和tongxunlu—元件屬性與樣式“屬性”—選中—勾選“字體顏色”選擇白色—在“填充顏色”選擇灰色—點(diǎn)擊確定
僅選中xiaoxi—元件屬性與樣式“屬性”-—勾選“選中”,使其在一開(kāi)始頁(yè)面載入后默認(rèn)狀態(tài)為選中。
第二步:設(shè)置兩層動(dòng)態(tài)面板
通過(guò)移動(dòng)將消息頁(yè)面和通訊錄頁(yè)面合并在一起,同時(shí)選中消息頁(yè)面和通訊錄頁(yè)面—右鍵單擊—轉(zhuǎn)換為動(dòng)態(tài)面板—設(shè)置動(dòng)態(tài)面板名稱為“d1”。
在微#界面的展示區(qū)域內(nèi)畫一個(gè)動(dòng)態(tài)面板,使其大小與展示區(qū)域相同并重合,設(shè)置動(dòng)態(tài)面板名稱為“d2”.
將動(dòng)態(tài)面板d1復(fù)制到動(dòng)態(tài)面板d2的一個(gè)子層級(jí)里面,并將d2的位置設(shè)置為“x:0;y:0”。
第三步:設(shè)置橫縱向滑動(dòng)的交互動(dòng)作
選中動(dòng)態(tài)面板d2—元件交互與說(shuō)明“交互”—點(diǎn)擊“拖動(dòng)時(shí)”—移動(dòng)—勾選“d1(動(dòng)態(tài)面板)”—移動(dòng)“垂直拖動(dòng)”;動(dòng)畫“無(wú)”。完成后結(jié)果如下圖
選中動(dòng)態(tài)面板d2—元件交互與說(shuō)明“交互”—點(diǎn)擊“向左拖動(dòng)結(jié)束時(shí)”—編輯條件—選擇“選中狀態(tài)”“xiaoxi”“=”“值”“true”。(如下圖)
繼續(xù),選擇“移動(dòng)”—勾選“d1(動(dòng)態(tài)面板)”—移動(dòng)“絕對(duì)位置”“x:-320”—點(diǎn)擊fx—在“添加局部變量中”設(shè)置“d1”=“元件”“d1”—插入變量或函數(shù)—在元件中選擇“y”—將[[this.y]]改成[[d1.y]]—點(diǎn)擊“確定”返回上級(jí)頁(yè)面—?jiǎng)赢嫛熬€性”,時(shí)間“300”毫秒—點(diǎn)擊確定。
繼續(xù),在添加動(dòng)作中選擇“設(shè)置選中”—選中—勾選“tongxunlu”—設(shè)置選中狀態(tài)為“值”“true”。
同理,按照移動(dòng)相反方向設(shè)置“向右拖動(dòng)結(jié)束時(shí)”的交互動(dòng)作,完成后如下圖。
第四步:設(shè)置上下移動(dòng)限制條件
通過(guò)上面的三步已經(jīng)可以實(shí)現(xiàn)頁(yè)面橫縱向同時(shí)滑動(dòng),但是會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題,就是上下滑動(dòng)的時(shí)候可以將消息頁(yè)面或通訊錄頁(yè)面滑出展示區(qū)域外。為了,更好的體驗(yàn),下面我們來(lái)對(duì)上下滑動(dòng)范圍加一個(gè)限制條件。
選中動(dòng)態(tài)面板d2—元件交互與說(shuō)明“交互”—點(diǎn)擊“拖動(dòng)時(shí)”—添加條件—選擇“值”—點(diǎn)擊fx—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“[[d1.top]]”—點(diǎn)擊“確定”返回上級(jí)頁(yè)面—選擇“>=”“值”“0”—點(diǎn)擊“確定”完成條件編輯
繼續(xù),添加動(dòng)作選擇“移動(dòng)”—勾選“d1(動(dòng)態(tài)面板)”—移動(dòng)“到絕對(duì)位置”“y:0”—點(diǎn)擊x后面的“fx”—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“d1.x”—點(diǎn)擊“確定”完成設(shè)置
同理,設(shè)置下方的移動(dòng)限制。
選中動(dòng)態(tài)面板d2—元件交互與說(shuō)明“交互”—點(diǎn)擊“拖動(dòng)時(shí)”—添加條件—選擇“值”—點(diǎn)擊fx—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“[[d1.bottom]]”—點(diǎn)擊“確定”返回上級(jí)頁(yè)面—選擇“<=”“值”“462”—點(diǎn)擊“確定”完成條件編輯
462的由來(lái):462為動(dòng)態(tài)面板d1的高度,需根據(jù)你的實(shí)際需求來(lái)定。
繼續(xù),添加動(dòng)作選擇“移動(dòng)”—勾選“d1(動(dòng)態(tài)面板)”—移動(dòng)“到絕對(duì)位置”“y:-199”—點(diǎn)擊x后面的“fx”—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“d1.x”—點(diǎn)擊“確定”完成設(shè)置.
-199的由來(lái):動(dòng)態(tài)面板d1與動(dòng)態(tài)面板d2的高度差為-199.
至此,已經(jīng)完成了移動(dòng)端原型頁(yè)面橫縱向滑動(dòng)同時(shí)實(shí)現(xiàn)的設(shè)置了。
本文旨在向大家分享一下我個(gè)人對(duì)這個(gè)問(wèn)題的解決方案,有什么不對(duì)或不好的地方請(qǐng)大家多多諒解。
原型下載地址:
鏈接:http://pan.baidu.com/s/1hsCuA0k ? 密碼:0oha
本文由 @簡(jiǎn)揚(yáng) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
還有個(gè)bug 如果倆頁(yè)面不是一樣的那么你的D2不會(huì)隱藏
那個(gè)拖動(dòng)應(yīng)該是相對(duì)位置吧,絕對(duì)位置你向左滑動(dòng)結(jié)束后他就又一次的回到了你所謂的D1了
樓主,能不能發(fā)個(gè)鏈接
首先感謝樓主的分享,雖然跟著做出來(lái)了但是還是有點(diǎn)不懂.這種不能實(shí)現(xiàn)微信的功能啊,無(wú)論聊天窗口向下滑動(dòng)多少,向右滑動(dòng)之后會(huì)切換到聯(lián)系人的最頂端,這種方法很難實(shí)現(xiàn)嗎?
為什么不能下載
太古老, 網(wǎng)盤整理了,分享鏈接可能就壞了
http://vvqofr.axshare.com
lz能幫忙看下嗎?為什么我做出來(lái)以后滑到右邊再下滑會(huì)自動(dòng)跳轉(zhuǎn)到左邊
為什么[[d1.top]]>=0而不是大于等于導(dǎo)航欄的坐標(biāo)呢? ?? 求解
為什么d2的位置設(shè)置為“x:0;y:0呢?
我實(shí)驗(yàn)了一下,如果d2是x:0 ;y:50 向下移動(dòng)的時(shí)候會(huì)多出50的寬度,這是什么問(wèn)題
為什么我設(shè)置上下滑動(dòng)限制的時(shí)候默認(rèn)的是else if 不是if,因?yàn)榍懊鎐ase1已經(jīng)有if true了
這個(gè)我知道了
很實(shí)用,讓自己長(zhǎng)進(jìn)不少,還揣摩出了移動(dòng)的x軸折現(xiàn)圖畫法,原型的交互做到位了 就可以少些說(shuō)明 非常方便,現(xiàn)在習(xí)慣做交互了 給你點(diǎn)個(gè)贊
不錯(cuò),好好加油
哈哈
?? 還是不太明白,為何一定要花這么多時(shí)間和精力去設(shè)置各種函數(shù),去做各種逼格的交互。從業(yè)至今,一直喜歡低保真,復(fù)雜界面,就進(jìn)行界面拆分,并附上交互說(shuō)明。
還是那么一句話:
做出來(lái)原型又不是給最終用戶用的,畫原型,主要目的是為了讓開(kāi)發(fā)更好的理解,工具只是工具而已!
這個(gè)我也知道,平時(shí)也都是用AXURE一個(gè)個(gè)頁(yè)面畫,然后在旁邊寫交互說(shuō)明。寫這些只是出于一種工具癖好,對(duì)于Axure這個(gè)軟件的應(yīng)用而已。
其實(shí)也不需要這么多變量吧?“面板1”里放三個(gè)層,每個(gè)層放一個(gè)面板,每一層的面板的swipeleft和swiperight添加case切換“面板1”的層就好了。
第四步的點(diǎn)擊拖動(dòng)時(shí)有錯(cuò)誤,應(yīng)該是拖動(dòng)結(jié)束時(shí),這樣才能實(shí)現(xiàn)一個(gè)回彈效果。其他的話頁(yè)面往上滑底部應(yīng)該有加載提示,與頁(yè)面往下滑不同~
沒(méi)有錯(cuò)誤,是拖動(dòng)時(shí),如果是拖動(dòng)結(jié)束時(shí)就太慢了,會(huì)出現(xiàn)在拖動(dòng)的過(guò)程中超出屏幕顯示。
老夫用代碼實(shí)現(xiàn)給你看
? 學(xué)做產(chǎn)品的,不太懂代碼。這個(gè)用代碼實(shí)現(xiàn)起來(lái)應(yīng)該很簡(jiǎn)單吧?
寫的不錯(cuò)
謝謝 ??
涉及到變量就懵逼了…
還好啊!慢慢學(xué),其實(shí)不難的。
不太明白設(shè)置移動(dòng)絕對(duì)位置和局部變量是為了實(shí)現(xiàn)什么功能,求解答。因?yàn)?,貌似不用函?shù)也可以做到這種拖動(dòng)效果吧。
不用函數(shù)也可以 ,用函數(shù)只是為了方便快捷。另外移動(dòng)絕對(duì)位置和局部變量,只是為了不出現(xiàn)在移動(dòng)的過(guò)程中出現(xiàn)通訊錄移出屏幕的問(wèn)題。
學(xué)習(xí)了,66666
左右拖動(dòng)不能單純?cè)O(shè)置拖動(dòng)結(jié)束,應(yīng)當(dāng)考慮其左右拖動(dòng)的距離,當(dāng)拖動(dòng)距離不足半屏應(yīng)該不會(huì)切換,上下拖動(dòng)應(yīng)得加入回彈效果,向下拖動(dòng)應(yīng)該加入loading信息吧
謝謝提醒!不完善的地方以后會(huì)慢慢改善的。其實(shí)還應(yīng)該考慮,單手操作手機(jī),快速滑動(dòng)小段距離切換屏幕的效果。
動(dòng)態(tài)面板d1與動(dòng)態(tài)面板d2的高度差不是應(yīng)該為0么,沒(méi)懂這里的意思額
不可能是零的,就像你的微信在屏幕上不可能吧你的通訊錄全部顯示完是一樣的,d1就相當(dāng)于通訊錄,d2就相當(dāng)于屏幕,所以d1要比d2高得多。