Axure RP9中OnDrag(拖拽)的使用說(shuō)明

制作原型的時(shí)候,我們也會(huì)經(jīng)常使用拖拽效果,今天我們就來(lái)一起看看OnDrag的事件。


版權(quán)說(shuō)明:以下內(nèi)容,除標(biāo)明引用的部分,均為原創(chuàng),轉(zhuǎn)發(fā)時(shí)請(qǐng)標(biāo)明出處,不要用于商業(yè)培訓(xùn)等用途哦~,感謝支持。

軟件版本說(shuō)明:以下示例均以Axure RP

9(英文版)為基礎(chǔ)進(jìn)行制作。

意見(jiàn)與建議:歡迎大家留言,一起開(kāi)發(fā)新的討論課題。


????????我們?cè)O(shè)置一個(gè)內(nèi)容頁(yè)面,并在內(nèi)容頁(yè)面中,放置動(dòng)態(tài)面板(命名:Content),并將大小設(shè)置為寬349 高2810,并在面板中添加需要現(xiàn)實(shí)的內(nèi)容。

1)為了方便測(cè)試,我們?cè)趦?nèi)容面板右側(cè),放置兩個(gè)文本,分別用于顯示面板的top、bottom、left和right。


界面布局

注:Content請(qǐng)勿勾選縮放以適應(yīng)內(nèi)容


注:請(qǐng)勿勾選fit

關(guān)于其中原因,我們放在文章的末尾進(jìn)行解釋。


2)為Content增加OnDrag事件


編輯OnDrag事件

????????測(cè)試1)按照以上配置,運(yùn)行;


測(cè)試1運(yùn)行結(jié)果

????????如圖所示,在拖動(dòng)面板時(shí),四個(gè)參數(shù)隨之改變。

????????測(cè)試2)僅允許隨y方向移動(dòng),配置如下:


測(cè)試2配置

????????運(yùn)行,查看結(jié)果;僅允許隨x方向移動(dòng)的配置,參見(jiàn)上圖;

????????測(cè)試3)在測(cè)試2的基礎(chǔ)上,我們對(duì)移動(dòng)的事件做一些限制:

????????在OnDrag事件中,我們添加boundary如下圖所示:


增加boundary條件

????????運(yùn)行,查看結(jié)果,我們可以看出,Content頂部無(wú)法移動(dòng)至窗口外,同樣的,可以增加其他的限制條件進(jìn)行測(cè)試,在反復(fù)測(cè)試后,我們不難得出以下結(jié)論:

????????OnDrag的事件中的boundary條件,限制了拖拽事件只能在boundary條件為真時(shí)發(fā)生。

3)接下來(lái),我們?cè)趦?nèi)容頁(yè)面中,增加一個(gè)模擬的顯示窗口(Box,375*667),如下圖所示:


增加模擬窗口

????????我們現(xiàn)在對(duì)OnDrag事件中的boundary條件進(jìn)行編輯,使得內(nèi)容在上下拖動(dòng)時(shí)Box中不能出現(xiàn)空白區(qū)域


更新后的boundary條件

????????條件一:Content的頂部必須小于等于窗口的頂部(即只能在窗口的頂部以上拖動(dòng));

????????條件二:Content的底部必須大于等于窗口的底部(即只能在窗口的底部以下拖動(dòng));

????????運(yùn)行,查看結(jié)果。如此一來(lái),我們便成功實(shí)現(xiàn)了窗口內(nèi)拖動(dòng)的功能。


4)在我們使用APP時(shí),界面下拉后并松開(kāi),會(huì)觸發(fā)一次界面的刷新。這個(gè)效果又要如何制作呢?

下面是個(gè)簡(jiǎn)單的示例:

????????a)首先,我們將原有的boundary條件中的top限制設(shè)置為100,即內(nèi)容可以下拉至低于窗口頂部100像素的位置;

????????b)同時(shí),我們?cè)黾覱nDragDrop(拖拽釋放)事件。在本事件中,我們定義Move 事件,將面板移動(dòng)至x,y,其中x設(shè)置為面板的left,y設(shè)置為0,并設(shè)置移動(dòng)的效果為Bounce,500ms。


設(shè)置回彈參數(shù)

????????c)此時(shí),我們?cè)賮?lái)運(yùn)行,查看結(jié)果。

最終,我們使用InlineFrame進(jìn)行頁(yè)面的關(guān)聯(lián),就實(shí)現(xiàn)了APP中列表顯示的效果。


注的解釋:

動(dòng)態(tài)面板設(shè)置自適應(yīng)時(shí),在其加載時(shí),由于內(nèi)容沒(méi)有加載,因此,得到的高度其實(shí)為默認(rèn)高度,與內(nèi)容無(wú)關(guān)。如下圖所示。


設(shè)置自適應(yīng)
未設(shè)置自適應(yīng)

此時(shí),就不能使用bottom來(lái)限制窗口的移動(dòng)了。

小問(wèn)題:

1、如果設(shè)置了適應(yīng)內(nèi)容,我們應(yīng)該如何修改限制條件,來(lái)達(dá)到同樣的效果呢?

2、嘗試使用全局變量,使得InlineFrame窗口的大小發(fā)生變化時(shí),Content的OnDrag函數(shù)的條件參數(shù)不用修改。


文章中的附件:

百度網(wǎng)盤(pán)下載地址 ?? 密碼:gb6l

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

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

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