Axure教程:移動端原型頁面橫縱向滑動同時實現(xiàn)

32 評論 60158 瀏覽 214 收藏 9 分鐘

現(xiàn)在,移動端已經(jīng)逐漸超越了PC端成為了主流,各種手機APP稱出不窮,占據(jù)了我們的絕大多數(shù)生活,尤其是微信。無論吃飯、休息,還是工作,我們總不時地拿出手機,從消息的最頂端往下滑,直至看完所有的小紅點,然后從右往左滑過通訊錄,滑到發(fā)現(xiàn),又是朋友圈的一輪瘋狂閱讀與點贊。喝點雞湯,尋點樂趣,我們的生活確實這么無趣。那么,在做原型的時候如何實現(xiàn)剛剛所說的橫縱向移動呢?下面我將向大家分享一下我的解決方法,希望能幫助到大家。

效果動態(tài):

gif8

原材料:

圖1

步驟/方法

第一步:設(shè)置按鈕的選中效果和組

同時選中xiaoxi和tongxunlu—元件屬性與樣式“屬性”—在“輸入選項組名稱”中輸入“組”(輸入其他也可以)

同時選中xiaoxi和tongxunlu—元件屬性與樣式“屬性”—選中—勾選“字體顏色”選擇白色—在“填充顏色”選擇灰色—點擊確定

僅選中xiaoxi—元件屬性與樣式“屬性”-—勾選“選中”,使其在一開始頁面載入后默認(rèn)狀態(tài)為選中。

圖2

圖3

第二步:設(shè)置兩層動態(tài)面板

通過移動將消息頁面和通訊錄頁面合并在一起,同時選中消息頁面和通訊錄頁面—右鍵單擊—轉(zhuǎn)換為動態(tài)面板—設(shè)置動態(tài)面板名稱為“d1”。

在微#界面的展示區(qū)域內(nèi)畫一個動態(tài)面板,使其大小與展示區(qū)域相同并重合,設(shè)置動態(tài)面板名稱為“d2”.

將動態(tài)面板d1復(fù)制到動態(tài)面板d2的一個子層級里面,并將d2的位置設(shè)置為“x:0;y:0”。

圖4

tu5

第三步:設(shè)置橫縱向滑動的交互動作

選中動態(tài)面板d2—元件交互與說明“交互”—點擊“拖動時”—移動—勾選“d1(動態(tài)面板)”—移動“垂直拖動”;動畫“無”。完成后結(jié)果如下圖

圖6

選中動態(tài)面板d2—元件交互與說明“交互”—點擊“向左拖動結(jié)束時”—編輯條件—選擇“選中狀態(tài)”“xiaoxi”“=”“值”“true”。(如下圖)

圖7

繼續(xù),選擇“移動”—勾選“d1(動態(tài)面板)”—移動“絕對位置”“x:-320”—點擊fx—在“添加局部變量中”設(shè)置“d1”=“元件”“d1”—插入變量或函數(shù)—在元件中選擇“y”—將[[this.y]]改成[[d1.y]]—點擊“確定”返回上級頁面—動畫“線性”,時間“300”毫秒—點擊確定。

圖8

圖9

繼續(xù),在添加動作中選擇“設(shè)置選中”—選中—勾選“tongxunlu”—設(shè)置選中狀態(tài)為“值”“true”。

圖10

同理,按照移動相反方向設(shè)置“向右拖動結(jié)束時”的交互動作,完成后如下圖。

圖11

第四步:設(shè)置上下移動限制條件

通過上面的三步已經(jīng)可以實現(xiàn)頁面橫縱向同時滑動,但是會發(fā)現(xiàn)一個問題,就是上下滑動的時候可以將消息頁面或通訊錄頁面滑出展示區(qū)域外。為了,更好的體驗,下面我們來對上下滑動范圍加一個限制條件。

選中動態(tài)面板d2—元件交互與說明“交互”—點擊“拖動時”—添加條件—選擇“值”—點擊fx—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“[[d1.top]]”—點擊“確定”返回上級頁面—選擇“>=”“值”“0”—點擊“確定”完成條件編輯

圖12

繼續(xù),添加動作選擇“移動”—勾選“d1(動態(tài)面板)”—移動“到絕對位置”“y:0”—點擊x后面的“fx”—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“d1.x”—點擊“確定”完成設(shè)置

圖13

同理,設(shè)置下方的移動限制。

選中動態(tài)面板d2—元件交互與說明“交互”—點擊“拖動時”—添加條件—選擇“值”—點擊fx—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“[[d1.bottom]]”—點擊“確定”返回上級頁面—選擇“<=”“值”“462”—點擊“確定”完成條件編輯

462的由來:462為動態(tài)面板d1的高度,需根據(jù)你的實際需求來定。

圖14

繼續(xù),添加動作選擇“移動”—勾選“d1(動態(tài)面板)”—移動“到絕對位置”“y:-199”—點擊x后面的“fx”—添加局部變量“d1”=“元件”“d1”—插入變量或函數(shù)輸入“d1.x”—點擊“確定”完成設(shè)置.

-199的由來:動態(tài)面板d1與動態(tài)面板d2的高度差為-199.

圖15

至此,已經(jīng)完成了移動端原型頁面橫縱向滑動同時實現(xiàn)的設(shè)置了。

本文旨在向大家分享一下我個人對這個問題的解決方案,有什么不對或不好的地方請大家多多諒解。

原型下載地址:

鏈接:http://pan.baidu.com/s/1hsCuA0k ? 密碼:0oha

 

本文由 @簡揚 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 還有個bug 如果倆頁面不是一樣的那么你的D2不會隱藏

    來自湖北 回復(fù)
  2. 那個拖動應(yīng)該是相對位置吧,絕對位置你向左滑動結(jié)束后他就又一次的回到了你所謂的D1了

    來自湖北 回復(fù)
  3. 樓主,能不能發(fā)個鏈接

    來自遼寧 回復(fù)
  4. 首先感謝樓主的分享,雖然跟著做出來了但是還是有點不懂.這種不能實現(xiàn)微信的功能啊,無論聊天窗口向下滑動多少,向右滑動之后會切換到聯(lián)系人的最頂端,這種方法很難實現(xiàn)嗎?

    來自陜西 回復(fù)
  5. 為什么不能下載

    來自日本 回復(fù)
    1. 太古老, 網(wǎng)盤整理了,分享鏈接可能就壞了

      來自福建 回復(fù)
  6. http://vvqofr.axshare.com
    lz能幫忙看下嗎?為什么我做出來以后滑到右邊再下滑會自動跳轉(zhuǎn)到左邊

    來自中國 回復(fù)
  7. 為什么[[d1.top]]>=0而不是大于等于導(dǎo)航欄的坐標(biāo)呢? ?? 求解

    來自中國 回復(fù)
  8. 為什么d2的位置設(shè)置為“x:0;y:0呢?
    我實驗了一下,如果d2是x:0 ;y:50 向下移動的時候會多出50的寬度,這是什么問題

    來自中國 回復(fù)
  9. 為什么我設(shè)置上下滑動限制的時候默認(rèn)的是else if 不是if,因為前面case1已經(jīng)有if true了

    來自中國 回復(fù)
    1. 這個我知道了

      來自中國 回復(fù)
  10. 很實用,讓自己長進不少,還揣摩出了移動的x軸折現(xiàn)圖畫法,原型的交互做到位了 就可以少些說明 非常方便,現(xiàn)在習(xí)慣做交互了 給你點個贊 :mrgreen:

    來自北京 回復(fù)
    1. 不錯,好好加油

      回復(fù)
  11. 哈哈

    回復(fù)
  12. ?? 還是不太明白,為何一定要花這么多時間和精力去設(shè)置各種函數(shù),去做各種逼格的交互。從業(yè)至今,一直喜歡低保真,復(fù)雜界面,就進行界面拆分,并附上交互說明。

    還是那么一句話:

    做出來原型又不是給最終用戶用的,畫原型,主要目的是為了讓開發(fā)更好的理解,工具只是工具而已!

    來自浙江 回復(fù)
    1. 這個我也知道,平時也都是用AXURE一個個頁面畫,然后在旁邊寫交互說明。寫這些只是出于一種工具癖好,對于Axure這個軟件的應(yīng)用而已。

      來自北京 回復(fù)
  13. 其實也不需要這么多變量吧?“面板1”里放三個層,每個層放一個面板,每一層的面板的swipeleft和swiperight添加case切換“面板1”的層就好了。

    來自廣東 回復(fù)
  14. 第四步的點擊拖動時有錯誤,應(yīng)該是拖動結(jié)束時,這樣才能實現(xiàn)一個回彈效果。其他的話頁面往上滑底部應(yīng)該有加載提示,與頁面往下滑不同~

    來自廣東 回復(fù)
    1. 沒有錯誤,是拖動時,如果是拖動結(jié)束時就太慢了,會出現(xiàn)在拖動的過程中超出屏幕顯示。

      來自北京 回復(fù)
  15. 老夫用代碼實現(xiàn)給你看

    回復(fù)
    1. ? 學(xué)做產(chǎn)品的,不太懂代碼。這個用代碼實現(xiàn)起來應(yīng)該很簡單吧?

      來自北京 回復(fù)
  16. 寫的不錯

    回復(fù)
    1. 謝謝 ??

      來自北京 回復(fù)
  17. 涉及到變量就懵逼了…

    回復(fù)
    1. 還好啊!慢慢學(xué),其實不難的。

      來自北京 回復(fù)
  18. 不太明白設(shè)置移動絕對位置和局部變量是為了實現(xiàn)什么功能,求解答。因為,貌似不用函數(shù)也可以做到這種拖動效果吧。

    來自天津 回復(fù)
    1. 不用函數(shù)也可以 ,用函數(shù)只是為了方便快捷。另外移動絕對位置和局部變量,只是為了不出現(xiàn)在移動的過程中出現(xiàn)通訊錄移出屏幕的問題。

      來自北京 回復(fù)
    2. 學(xué)習(xí)了,66666

      來自天津 回復(fù)
  19. 左右拖動不能單純設(shè)置拖動結(jié)束,應(yīng)當(dāng)考慮其左右拖動的距離,當(dāng)拖動距離不足半屏應(yīng)該不會切換,上下拖動應(yīng)得加入回彈效果,向下拖動應(yīng)該加入loading信息吧

    來自安徽 回復(fù)
    1. 謝謝提醒!不完善的地方以后會慢慢改善的。其實還應(yīng)該考慮,單手操作手機,快速滑動小段距離切換屏幕的效果。

      來自北京 回復(fù)
  20. 動態(tài)面板d1與動態(tài)面板d2的高度差不是應(yīng)該為0么,沒懂這里的意思額

    來自福建 回復(fù)
    1. 不可能是零的,就像你的微信在屏幕上不可能吧你的通訊錄全部顯示完是一樣的,d1就相當(dāng)于通訊錄,d2就相當(dāng)于屏幕,所以d1要比d2高得多。

      來自北京 回復(fù)