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