Axure 矩形長度跟隨文字的長度變化
編輯導(dǎo)讀:矩形長度的變化是隨著文字長度的變化而變化,若兩者長度不統(tǒng)一,視覺體驗(yàn)會大大減分。本文用Axure教程介紹如何讓矩形寬度跟隨文字長度變化,希望對你有幫助。
在Axure中,已加載的矩形的長度不會隨著矩形文字的變化而變化(就算矩形設(shè)置了‘自動適合文本寬度’也一樣), 需要手動設(shè)置。
變更前文本矩形寬度
變更文本后文本矩形的寬度不變,顏色和邊框同樣不會改變。
但是經(jīng)常我們會通過觸發(fā)某個觸發(fā)事件來更改矩形的文字,如果變化后的文字長度不同于原文字長度,那么矩形的顏色或者邊框不會跟著文字的長度改變而改變(因?yàn)榫匦蔚膶捯恢睕]有改變)。
典型應(yīng)用:按鈕文字變更、toast提示母版,?需要矩形的長度跟隨文字長度變化而變化。
一、如何讓矩形寬度跟隨文字長度變化?
技能點(diǎn):
- 文字的字號=文字的像素寬度。
- 理解?width(像素寬度)和?length(文字長度/個數(shù))。
1. 元件準(zhǔn)備
- 文本矩形,命名為“顯示文本”;
- 矩形按鈕,命名為“按鈕”;
元件準(zhǔn)備
2. 具體操作
1)設(shè)置按鈕點(diǎn)擊事件
1.更改顯示文本的文字,可以多寫幾個。
2.設(shè)置顯示文本的寬度等于?文字個數(shù)(顯示文本.length)*字號+1(*+1的原因是矩形框沒有文字的時候也會占1個像素,有文字的時候要加上這個像素,有興趣的同學(xué)可以自行驗(yàn)證)。
設(shè)置顯示文本的寬度
添加顯示文本的文字為局部變量
添加變量,設(shè)置函數(shù)公式[[LVAR1.length*13+1]]
注意:當(dāng)顯示文本的左右有填充的時候,需要把填充的像素一起加上。
此時函數(shù)公式變成[[LVAR1.length*13+20+1]]
3. 預(yù)覽效果
以下為實(shí)驗(yàn)數(shù)據(jù):
驗(yàn)證:?文字的字號=文字的像素寬度。
計(jì)算當(dāng)前字號下每個字的像素寬度,這里設(shè)置的是13號字號。把文本矩形復(fù)制成四份,分別設(shè)置每個文本矩形的文字個數(shù)為1、2、3、4個。分別記錄每個文本矩形的寬度,相減即可的出每個字的像素寬度為13。
相減可得出,每個字的寬度為13。
結(jié)論:文本矩形的寬度=文本的字?jǐn)?shù)x文字的字號+1(?矩形框沒有文字的時候也會占1個像素,在有文字的時候要加上1個像素 )。
本文由 @Haven 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
跟我的做法一樣,這樣無法解決其他字符混合輸入問題,比如加上英文字母或數(shù)字,長度不可控
如何解決呢