Axure 矩形長度跟隨文字的長度變化

1 評論 6608 瀏覽 11 收藏 5 分鐘

編輯導讀:矩形長度的變化是隨著文字長度的變化而變化,若兩者長度不統一,視覺體驗會大大減分。本文用Axure教程介紹如何讓矩形寬度跟隨文字長度變化,希望對你有幫助。

在Axure中,已加載的矩形的長度不會隨著矩形文字的變化而變化(就算矩形設置了‘自動適合文本寬度’也一樣), 需要手動設置。

變更前文本矩形寬度

變更文本后文本矩形的寬度不變,顏色和邊框同樣不會改變。

但是經常我們會通過觸發某個觸發事件來更改矩形的文字,如果變化后的文字長度不同于原文字長度,那么矩形的顏色或者邊框不會跟著文字的長度改變而改變(因為矩形的寬一直沒有改變)。

典型應用:按鈕文字變更、toast提示母版,?需要矩形的長度跟隨文字長度變化而變化。

一、如何讓矩形寬度跟隨文字長度變化?

技能點:

  1. 文字的字號=文字的像素寬度。
  2. 理解?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協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 跟我的做法一樣,這樣無法解決其他字符混合輸入問題,比如加上英文字母或數字,長度不可控

    來自廣東 回復