Axure中實(shí)現(xiàn)依據(jù)寬度自動(dòng)換行的Tag標(biāo)簽
如何做一個(gè)可以自動(dòng)根據(jù)寬度自動(dòng)換行的標(biāo)簽?這篇文章里,作者做了相應(yīng)的Axure教程分享,一起來看一下。
“標(biāo)簽(Tags)”功能用于標(biāo)記、選擇、分類和組織網(wǎng)站內(nèi)容的元數(shù)據(jù)。它們通常以關(guān)鍵字或短語的形式出現(xiàn),以描述該內(nèi)容的屬性、主題或類別。標(biāo)簽的字?jǐn)?shù)一般不多,但長(zhǎng)度可能不盡相同,如果多全標(biāo)簽還需要換行。比如ElementUI的Tag標(biāo)簽:
演示地址:https://usrsky.axshare.com/#id=hb5pcx&g=1
一、先決知識(shí)
因?yàn)樵贏xure RP 8&9中,自動(dòng)適應(yīng)文字寬度是個(gè)麻煩事,所以請(qǐng)先了解一下《完美實(shí)現(xiàn)Axure8和9的“自動(dòng)適應(yīng)文本寬度”》,順便下載ruler_RP9.rp文件備用。如果對(duì)寬度不敏感也可以簡(jiǎn)單地直接用[[字?jǐn)?shù) * 字寬]]。
此外,你可能還需要讀一下這篇文章《Axure中繼器的負(fù)坐標(biāo)》。
二、教程
先建兩個(gè)全局變量:
- maxLineWidth用于表示最大寬度(非必須,也可以在交互里寫死,還可以動(dòng)態(tài)獲取父容器寬度)
- currentLineWidth記錄當(dāng)前行寬度。
元件目錄與ruler_RP9.rp大同小異,我這里寬度多加了50是為了放(叉號(hào)×)。
最后在(矩形)的“加載時(shí)”交互寫換行的邏輯,其實(shí)寫在中繼器的“每項(xiàng)加載時(shí)”也可以。
載入時(shí):
Case1,如果[[Item.isFirst]]==”true”(表示首行,只記錄寬度,不移動(dòng)矩形)
設(shè)置變量currentLineWidth為當(dāng)前寬度;
Case2,如果[[currentLineWidth+This.Width]]<=”[[maxLineWidth]]”(判斷如果當(dāng)前行剩余寬度空間足夠)
接到上一行末尾;
設(shè)置新的currentLineWidth為[[currentLineWidth+10+This.width]](里面的10是用來做為空隙,可自行更改,或者放到全局變量都行)
Case3,(空間不夠)
換新行;
設(shè)置變量currentLineWidth為當(dāng)前寬度。
結(jié)尾
這樣一個(gè)可以自動(dòng)根據(jù)寬度自動(dòng)換行的標(biāo)簽就做好啦,快去試試看吧。
本文由 @Jorkin 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒評(píng)論,等你發(fā)揮!