Axure教程:實現(xiàn)進度條、進度環(huán)和滑動條的簡單方法

46 評論 54316 瀏覽 118 收藏 18 分鐘

作者分享了制作進度條、進度環(huán)和滑動條的簡單方法,希望能給大家?guī)硪欢ǖ氖斋@。

畫原型的目的之一是為了給開發(fā)人員看功能的實現(xiàn)效果,同時也可以打包制作成Demo給相關人員了解產(chǎn)品的完成形態(tài),是產(chǎn)品人員的必備技能之一。除了畫原型,產(chǎn)品人員還要做需求分析和文檔編寫等工作,所以不能花太多時間在此環(huán)節(jié)上。

畫原型所需時間與實現(xiàn)方法有關,以提高效率為目的,本文盡可能詳細的介紹了進度條、進度環(huán)和滑動條三種原型的最簡單實現(xiàn)方法,在介紹方法的過程中與大家分享自定義函數(shù)和常用math函數(shù)的使用以及元件操作的一些小技巧,希望能幫助大家在畫原型的時候更加得心應手。

一、進度條

進度條常見于頁面載入過程中,用于向用戶展示當前的進度情況,配合上有趣的動畫效果可減少用戶的等待焦慮。

1. 準備元件

在畫板中拖入等寬等高的灰色矩形和藍色矩形,灰色矩形命名【進度槽】,藍色矩形轉(zhuǎn)換為動態(tài)面板后設置寬度為1,命名【進度條】,拖入開始按鈕和文本標簽,設置文本標簽文本為“0%”,命名【進度】。

2. 原理分析

1)實現(xiàn)原理

把藍色矩形轉(zhuǎn)換成動態(tài)面板【進度條】后,藍色矩形成為【進度條】默認面板內(nèi)的一個元件。通過把【進度條】的初始寬度設置為1,暫時只顯示一點點的藍色矩形,使整個進度槽看起來是空的。隨著【進度條】寬度不斷變大,藍色矩形被顯示出來的區(qū)域也不斷增多,直至當【進度條】的寬度等于【進度槽】的時候,藍色矩形就全部被顯示出來了,使整個進度槽看起來被填充完成。期間進度條和進度是關聯(lián)進行的,根據(jù)【進度條】的寬度計算出【進度】的數(shù)值,用于表示當前的進度情況。

2)邏輯流程

改變【進度條】寬度

改變【進度條】的寬度是通過【設置尺寸】動作來實現(xiàn)的,Axure支持在用例中設置改變元件的尺寸?!具M度條】的初始寬度為1,我們要修改設置它的尺寸為【進度槽】的寬度,設置動畫為“線性”,時間為整個進度的時間。

自定義的函數(shù)中,LVAR1.width指局部變量LVAR1的寬度,LVAR1指代【進度槽】,故LVAR1.width即為【進度槽】的寬度。

設置【進度】

根據(jù)“ 進度 = 進度條的寬度 / 進度槽的寬度 % ”,轉(zhuǎn)換成原型中的函數(shù)為:

[[ math.ceil ( 100 * LVAR1.width / LVAR2.width ) ]] %

math.ceil(x)函數(shù)為向上取整函數(shù),返回大于或等于參數(shù)x,并且與之最接近的整數(shù)。

(tips:文章結尾還會與大家分享更多常用的math函數(shù)。)

LVAR1.width是【進度條】的寬度,LVAR2.width是【進度槽】的寬度。兩者相除后乘以100,再向上取整后得到百分比數(shù)制的整數(shù)數(shù)值部分,再添加“%”號組成百分比數(shù)制的文本。

3、設置用例

【開始按鈕】鼠標點擊時用例:

  1. action1:設置【進度條】尺寸;
  2. action2:隱藏【進度】;
  3. action3:顯示【進度】。

【進度】顯示時用例:

  1. action1:設置【進度】;
  2. action2:隱藏【進度】;
  3. action3:顯示【進度】。

注意,在完成設置【進度】的動作后,需要添加一個“等待0ms”的動作讓程序“暫時等待一下,然后再繼續(xù)”,否則沒有設置等待的話會形成“設置-隱藏-顯示-設置-隱藏-顯示-設置-隱藏……”的死循環(huán),在運行原型的時候會造成網(wǎng)頁奔潰(有興趣的讀者可以嘗試一下,網(wǎng)頁崩潰了可別怪我^_^)。

全部搞定后就可以預覽原型了,附上原型演示地址:

簡易進度條原型演示

二、進度環(huán)

進度環(huán)是進度條的一種擴展,只是兩者的展現(xiàn)形式不同,前者為環(huán)形,后者為條形。

1、準備元件

1)半圓環(huán)的制作方法

step1:畫兩個半徑不同的同心圓(大圓450半徑藍色,小圓300半徑灰色),選中兩個圓后右鍵 –【改變形狀】–【去除】,便可得到圓環(huán)。

step2:畫一個矩形,使它的一邊與圓環(huán)的直徑重合,選中兩者后右鍵 –【改變形狀】–【去除】,得到半圓環(huán),將半圓環(huán)右鍵 –【改變形狀】–【水平翻轉(zhuǎn)】便可得到另一半半圓環(huán)。

2)制作元件

按照上面的方法在畫板中畫四個半圓環(huán)、拖入開始按鈕和文本標簽,設置文本標簽文本為“0%”,命名【進度】。

把各個元件組合排列成下圖,其中四個半圓環(huán)自上往下的排列層級依次為:【右槽】、【右環(huán)】、【左槽】、【左環(huán)】

2、原理分析

1)實現(xiàn)原理

初始時四個半圓環(huán)的排列位置從上往下依次為【右槽】、【右環(huán)】、【左槽】、【左環(huán)】,由于右槽和左槽分別蓋住了右環(huán)和左環(huán),所以在視圖上我們只能看到右槽和左槽,也就是空的環(huán)形槽。動作開始后,右環(huán)旋轉(zhuǎn)至左側(cè)后蓋住了左槽,然后左環(huán)上升到頂層(于右槽之上),接著頂層的左環(huán)旋轉(zhuǎn)至右側(cè)后蓋住了右槽,所以在視圖上只能看到右環(huán)和左環(huán),也就是填充后的環(huán)形。整個過程進度環(huán)和進度是關聯(lián)進行的,根據(jù)進度環(huán)旋轉(zhuǎn)過的弧度計算出進度,用于表示當前的進度情況。

2)邏輯流程

進度環(huán)的邏輯方法跟進度條相似,區(qū)別是進度的計算公式不同。

順時針旋轉(zhuǎn)半圈【右環(huán)】

旋轉(zhuǎn)【右環(huán)】是通過【旋轉(zhuǎn)】動作來實現(xiàn)的,Axure 8支持在用例中對元件進行旋轉(zhuǎn)其位置的操作。設置旋轉(zhuǎn)位置為相對位置,角度為180,順時針方向,錨點為左側(cè)(沿著左側(cè)旋轉(zhuǎn)),旋轉(zhuǎn)動畫設置為線性,設置好旋轉(zhuǎn)時間。

【左環(huán)】的旋轉(zhuǎn)動作設置與【右環(huán)】相似,把錨點改為右側(cè)(沿右側(cè)旋轉(zhuǎn))即可。

設置【進度】

根據(jù)“ 進度 = 進度環(huán)旋轉(zhuǎn)過的弧度 / 360 % ”,轉(zhuǎn)換成原型中的函數(shù)為:

[[ math.ceil ( 100 * ( LVAR1.rotation + LVAR2.rotation ) ?/ ?360 ) ]] %

LVAR1.rotation是【右環(huán)】旋轉(zhuǎn)過的弧度,LVAR2.rotation是【左環(huán)】旋轉(zhuǎn)過的弧度。兩者相加后為整個進度環(huán)旋轉(zhuǎn)過的弧度,除以360,然后乘以100再向上取整后得到百分比數(shù)制的整數(shù)數(shù)值部分,再添加“%”號組成百分比數(shù)制的文本。

3、設置用例

【開始按鈕】鼠標點擊時用例:

  1. action1:【右環(huán)】順時針旋轉(zhuǎn)半圓;
  2. action2:【左環(huán)】置于頂層;
  3. action3:【左環(huán)】順時針旋轉(zhuǎn)半圓。

用例中執(zhí)行【左環(huán)】置于頂層動作之前設置的等待時間與我們設置的【右環(huán)】旋轉(zhuǎn)所需時間相同,這么做是為了讓【右環(huán)】旋轉(zhuǎn)結束后才置【左環(huán)】于頂層。否則不添加等待時間的話在原型的演示過程中,【右環(huán)】還在旋轉(zhuǎn)的時候就被【左環(huán)】置頂后遮蓋住了,看不到進度環(huán)的旋轉(zhuǎn)動畫。

【進度】顯示時用例:

  1. action1:設置【進度】;
  2. action2:隱藏【進度】;
  3. action3:顯示【進度】。

注意在完成設置【進度】的動作后,需要添加一個“等待0ms”的動作,否則運行原型時會陷入死循環(huán)而造成網(wǎng)頁奔潰。

全部搞定后就可以預覽原型了,附上原型演示地址:簡易進度環(huán)原型演示

三、滑動條

滑動條常見于數(shù)值選擇器(調(diào)節(jié)音量、修改數(shù)值等),也用于滑動解鎖和滑動登錄。

1、準備元件

1)初始化元件

寬400、高20的灰色矩形【滑動槽】,跟滑動槽等寬等高的藍色矩形【滑動條矩形】,寬15、高30的紅色矩形【滑動塊】置于【滑動條矩形】右側(cè),拖入文本標簽,設置文本標簽文本為“0”,命名【滑動數(shù)】。

注:【滑動塊】的寬不應設置太大、高略大于【滑動條矩形】即可。

2)設置元件

選中【滑動條矩形】和【滑動塊】將它們一起轉(zhuǎn)換為動態(tài)面板【滑動條】,將【滑動槽】轉(zhuǎn)換為動態(tài)面板,設置寬為415(【滑動條】的寬)、高為40(大于【滑動塊】的高),將【滑動條】拖入【滑動槽】的動態(tài)面板中,拖放至【滑動槽】左側(cè)直至只露出紅色的【滑動塊】部分。

所有元件設置完成后,在首頁中視圖如下

2、原理分析

隨著我們在原型中不斷拖動【滑動塊】,【滑動條】在【滑動槽】中的位置是不斷改變的。在整個過程中,滑動條和滑動數(shù)進行關聯(lián)操作,根據(jù)進度條矩形已經(jīng)顯示的寬度計算出滑動數(shù)。

移動【滑動條】

移動方式設置成“水平拖動”,必須添加界限,否則原型會無限制拖動。設置左側(cè)邊界的X軸坐標大于等于-400(-【滑動條矩形】的寬度)、右側(cè)邊界的X軸坐標小于等于415(【滑動條】的寬度)

設置【滑動數(shù)】

根據(jù)“ 滑動數(shù) = ( 滑動槽的寬度 – 滑動條矩形已經(jīng)顯示的寬度 ) / ?滑動槽的寬度 ”,轉(zhuǎn)換成原型中的函數(shù)為:

[[ ?math.ceil ( 100 * ( LVAR2.width – math.abs (LVAR1.x ) ) / LVAR2.width ) ?]]

math.abs(x)函數(shù)為絕對值函數(shù),返回參數(shù)x的絕對值。

LVAR2.width是【滑動框】的寬度,LVAR1.x是【滑動條】的x軸坐標數(shù)值,它的絕對值在原型中即是【滑動條矩形】已經(jīng)顯示的寬度。自定義函數(shù)中的“100”是我們所要設計的整個滑動條的最大數(shù)值。

3、用例設置

【滑動條】拖動時用例:

  1. action1:移動【滑動條】;
  2. action2:設置【滑動數(shù)】。

全部搞定后就可以預覽原型了,附上原型演示地址:簡易滑動條原型演示

分享幾個常用的math函數(shù):

  1. math.abs(x):絕對值函數(shù),返回參數(shù)x的絕對值。math.abs(-2)=2。
  2. math.ceil(x):向上取整函數(shù),返回大于或等于參數(shù)x,并且與之最接近的整數(shù)。math.ceil(1.2)=2;math.floor(x):向下取整函數(shù),返回小于或等于參數(shù)x,并且與之最接近的整數(shù)。math.floor(1.2)=1。
  3. math.random():隨機數(shù)函數(shù),返回介于0到1之間的隨機數(shù)。
  4. math.max(x,y):最大值函數(shù),返回參數(shù)x和y中最大的值。math.max(1,2)=2;math.min(x,y):最小值函數(shù),返回參數(shù)x和y中最小的值。math.min(1,2)=1。
  5. math.pow(x,y):冪運算函數(shù),返回參數(shù)x的y次方的值。math.pow(2,3)=8;math.sqrt(x):平方根函數(shù),返回參數(shù)x的正數(shù)平方根。math.sqrt(4)=2。

寫在后面

也許有讀者會問,有沒有更簡單的方法實現(xiàn)上述的原型呢?答案是肯定有的,同時也很歡迎讀者們與我討論交流更簡單的方法。我們做原型的目的是為了表達功能需求和表現(xiàn)產(chǎn)品形態(tài),采用簡單的方法只是為了盡可能提高畫原型的效率。希望讀者們能在工作或者學習中養(yǎng)成自己的原型風格,只要是我們覺得最得心應手的方法,就是最簡單的方法。

 

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

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 您好,我在按教程操作條形進度條的時候 進度條有變化,但是百分比一直是0…不知道為什么…求指教

    來自北京 回復
  2. 為啥進度條要多此一舉加個動態(tài)面板呢

    來自山東 回復
  3. 為什么我做的進度條,一滑動?;瑒訑?shù)就會變成亂碼?

    來自湖北 回復
    1. 函數(shù)公式?jīng)]設置對

      來自廣東 回復
    2. 我是一直就顯示該公式

      來自福建 回復
    3. 一直顯示公式的話,可能是沒有用“[[]]”中括號引起來

      來自廣東 回復
  4. 。。。。
    原型圖:我就一個占位符,寫“進度條”
    需求文檔:寫一個進度公式。。。

    來自四川 回復
    1. 這樣太直接明了了 ??

      來自廣東 回復
  5. 大神求源文件1209893853@qq.com。。。。。。。做著做不出來,不知道是哪個環(huán)節(jié)出了問題 ??

    來自河北 回復
    1. 在哪一步驟出現(xiàn)問題了呢

      來自廣東 回復
  6. 疑問:進度條案例中。復位的用例時間是不是沒有講?然后是不是要把開始按鈕轉(zhuǎn)化為動態(tài)面板設置復位事件???

    來自北京 回復
    1. 嗯嗯,復位的用例再本文是沒有講的,有興趣的話可以私聊我互相學習一下,另外開始按鈕可以不用設置成動態(tài)面板,直接修改元件的文字再加上狀態(tài)判斷就行了,能少用動態(tài)面板就少用吧,否則修改起原型來很要命

      來自廣東 回復
  7. 求教:暫停進度條的實現(xiàn)方法?

    來自北京 回復
    1. 你是問進度條跑完自動暫停嗎,還是手動隨時暫停?

      來自廣東 回復
    2. 手動隨時暫停再手動開啟。那個,我自己研究出來了,用動態(tài)面板做循環(huán)走進度,再暫停循環(huán)。還是謝謝你!

      來自北京 回復
  8. 我想問一下,為什么我進度環(huán)和進度環(huán)槽大小一樣,可是當我進度環(huán)旋轉(zhuǎn)出來時,卻比進度環(huán)槽要小

    來自廣東 回復
    1. 項目設置里面,將元件的邊緣方式設置為重疊

      來自廣東 回復
  9. 想問一下進度條的用例是放在哪一項下面?我按照上面的一步步下來,一點擊開始進度從“0%”到“1%”顯示就停住了

    來自廣東 回復
    1. 估計應該是你的【進度條】寬度設置問題

      來自廣東 回復
    2. 是按照上面的[[LVAR1.width]]來設置的,里面的變量也是LVAR1=元件 進度槽。這個用例有沒說要放在哪個下面?我放在“鼠標單擊時”和“狀態(tài)改變時”都是一樣在“1%”停止了

      來自廣東 回復
    3. 你設置變量LAR1了嗎

      來自廣東 回復
    4. 函數(shù)里面LVAR1=元件 進度槽這個嗎?設置了

      來自廣東 回復
    5. 你微信多少,我加你吧,然后你把rp文件發(fā)給我,我?guī)湍憧纯?/p>

      來自廣東 回復
    6. 445731237~謝謝

      來自廣東 回復
  10. 滑動數(shù) 為什么是滑動槽的寬度-露出來的矩形寬度? 而不直接是露出來的矩形寬度? 滑動數(shù)是已經(jīng)滑動了多少的意思嗎?這點理不清楚了 ??

    來自遼寧 回復
    1. 是我在文章里表達錯了,正確的表達是:滑動槽的寬度-滑動條的x坐標的絕對值。在動態(tài)面板中,滑動條的x坐標的變化值為【-500至0】,他的絕對值變化為500至0

      來自廣東 回復
    2. 明白啦,多謝這么快的回復~!!

      來自遼寧 回復
    3. 嗯嗯,好高興能幫你解答

      來自廣東 回復
  11. 改變進度文字,為什么需要顯示和隱藏操作,直接set text不好用是為什么? ??

    來自遼寧 回復
    1. set text只是一個動作,要通過【隱藏】-【顯示】去觸發(fā)循環(huán)動作?;蛘咭部梢杂梦谋究蛟嫖谋緲撕炘?,文本框元件的set text屬性可以自帶觸發(fā)循環(huán)

      來自廣東 回復
  12. 我這進度條不動,只有數(shù)字走是怎么回事 看了5遍了

    來自北京 回復
    1. 有把【進度條】設置成動態(tài)面板嗎

      來自廣東 回復
    2. 弄好了 一個小細節(jié)的問題

      來自北京 回復
    3. ??

      來自廣東 回復
  13. 這個函數(shù)是這么運用的,雖說按照步驟可以做出來,想學習一下函數(shù)這東西,您有什么函數(shù)使用教程嗎?

    來自北京 回復
    1. 函數(shù)這種東西不需要刻意去記住的,用多了自然就會掌握了。至于使用教程,其實我也是自己摸索學習的,所以也就無法提供給你教程方案。也許后續(xù)我會分享更多案例給大家,希望能幫助你學習。

      來自廣東 回復
  14. 沒去大公司當過產(chǎn)品經(jīng)理,想問一下正規(guī)大公司的原型要這么逼真么。。

    回復
    1. 承讓承讓,小的也沒去過大公司當產(chǎn)品經(jīng)理,只是想通過分享原型的實現(xiàn)方法學習更多的Axure技巧,不僅限于實現(xiàn)單個原型。好像不同公司對原型有不一樣的要求,有些只要求中保真原型就可以了

      來自廣東 回復
  15. 有沒有原型文件參考下

    來自北京 回復
    1. 照著我的教程一步步來不可以實現(xiàn)嗎

      來自廣東 回復
  16. 為什么我做的到4%后就停止了

    來自北京 回復
    1. 進度跑到4%就停止了嗎?進度條還會走動么?估計是你進度自我循環(huán)的過程中設置錯了

      來自廣東 回復
    2. 進度條不動了,進度也停止了,我也找不出我錯哪里了

      來自北京 回復
    3. 我加你微信吧,然后你把rp文檔發(fā)給我看一下,你微信號多少呢

      來自廣東 回復
    4. eliane-2012

      來自北京 回復
  17. 由于篇幅有限,更多分享內(nèi)容請閱讀原文 ??
    原文鏈接:http://www.jianshu.com/p/dabf3665aa59

    來自廣東 回復