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

本文約3500字,適合對Axure有一定了解的同學閱讀,可跟著文中的教程同步動手操作,建議閱讀20分鐘。


寫在前面

畫原型的目的之一是為了給開發(fā)人員看功能的實現(xiàn)效果,同時也可以打包制作成Demo給相關(guān)人員了解產(chǎn)品的完成形態(tài),是產(chǎn)品人員的必備技能之一。除了畫原型,產(chǎn)品人員還要做需求分析和文檔編寫等工作,所以不能花太多時間在此環(huán)節(jié)上。畫原型所需時間與實現(xiàn)方法有關(guān),以提高效率為目的,本文盡可能詳細的介紹了進度條、進度環(huán)和滑動條三種原型的最簡單實現(xiàn)方法,在介紹方法的過程中與大家分享自定義函數(shù)和常用math函數(shù)的使用以及元件操作的一些小技巧,希望能幫助大家在畫原型的時候更加得心應(yīng)手。


一、進度條

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

1、準備元件

進度條的元件

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

2、原理分析

1)實現(xiàn)原理

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

2)邏輯流程

進度條的邏輯流程

改變【進度條】寬度

改變【進度條】寬度

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

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

設(shè)置【進度】

設(shè)置【進度】

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

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

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

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

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

3、設(shè)置用例

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

action1:設(shè)置【進度條】尺寸;

action2:隱藏【進度】;

action3:顯示【進度】。

點擊【開始按鈕】

【進度】顯示時用例:

action1:設(shè)置【進度】;

action2:隱藏【進度】;

action3:顯示【進度】。

【進度】顯示時

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

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

簡易進度條原型演示


二、進度環(huán)

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

1、準備元件

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

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

制作圓環(huán)

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

制作半圓環(huán)

2)制作元件

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

所需元件

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

排版好的元件

2、原理分析

1)實現(xiàn)原理

環(huán)旋轉(zhuǎ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)和進度是關(guān)聯(lián)進行的,根據(jù)進度環(huán)旋轉(zhuǎn)過的弧度計算出進度,用于表示當前的進度情況。

2)邏輯流程

進度環(huán)邏輯

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

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

選擇半圓環(huán)

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

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

設(shè)置【進度】

設(shè)置【進度】

根據(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、設(shè)置用例

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

action1:【右環(huán)】順時針旋轉(zhuǎn)半圓;

action2:【左環(huán)】置于頂層;

action3:【左環(huán)】順時針旋轉(zhuǎn)半圓。

點擊【開始按鈕】

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

【進度】顯示時用例:

action1:設(shè)置【進度】;

action2:隱藏【進度】;

action3:顯示【進度】。

顯示【進度】

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

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

簡易進度環(huán)原型演示


三、滑動條

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

1、準備元件

1)初始化元件

初始化元件

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

注:【滑動塊】的寬不應(yīng)設(shè)置太大、高略大于【滑動條矩形】即可。

2)設(shè)置元件

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

【滑動條】在【滑動槽】中只露出紅色的【滑動塊】部分

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

元件設(shè)置完成后的首頁視圖

2、原理分析

滑動塊邏輯流程

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

移動【滑動條】

移動【滑動條】

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

設(shè)置【滑動數(shù)】

設(shè)置【滑動數(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è)計的整個滑動條的最大數(shù)值。

3、用例設(shè)置

【滑動條】拖動時用例:

action1:移動【滑動條】;

action2:設(shè)置【滑動數(shù)】。

拖動【滑動條】

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

簡易滑動條原型演示


分享幾個常用的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)成自己的原型風格,只要是我們覺得最得心應(yīng)手的方法,就是最簡單的方法。


- END -

讀完文章如果覺得有收獲,記得關(guān)注和點贊哦~

我是南良熊,期待在產(chǎn)品的成長路上與你共同進步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,040評論 25 709
  • 1、新建Axure RP項目,取名“Axure最簡單方式制作頁面加載進度條百分比效果” 2、先看效果圖 3、拖入一...
    shuytu閱讀 3,785評論 3 7
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,330評論 0 17
  • 賈樟柯的大名,最近幾年一直像一株玉米,老在我眼前晃悠。有一天好奇心驅(qū)使我到百度上去搜尋,結(jié)果讓我失望。...
    喬橋閱讀 422評論 6 5
  • 朋友這個詞要怎么去理解,原本要好的朋友忽然有一天成了陌生人,沒有預(yù)兆,沒有任何提示就這樣讓你覺得你之前真的是她朋友...
    Dany0閱讀 292評論 0 0

友情鏈接更多精彩內(nèi)容