Axure中實(shí)現(xiàn)依據(jù)寬度自動(dòng)換行的Tag標(biāo)簽

0 評(píng)論 858 瀏覽 2 收藏 4 分鐘

如何做一個(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ù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!