unity Text實現按文字內容自適應

1. 在不同的設備下運行(特別是文字很多時),可能同一段文字在Text上的表現不一樣,這時候就要求Text需要按照文字內容進行自適應來適應不同的設備

  • 最簡單的方法就是在Text上添加Content Size Fitter組件,然後進行修改Horizontal Fit和Vertcal Fit

但是這個組件也有一個問題,就是水平上你換行了才認爲這一行結束,就會出現一行可能會很長,所以這裏面要是需要放一大段的文字,特別是這段文字還是從word這些文本編輯器拷貝過來的,就會遇到這種問題,比如:


這個時候最好就是先將Text的寬度設置好,然後只需要將Vertical Fit設置成Preferred Size就可以了。

2. 邊輸入邊改變Text大小

if (text.preferredWidth > maxWidth)
{
    text.rectTransform.sizeDelta = new Vector2(maxWidth, text.rectTransform.sizeDelta.y);
    text.GetComponent<ContentSizeFitter>().horizontalFit = ContentSizeFitter.FitMode.Unconstrained;
    text.GetComponent<ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章